backend/PYTHON-LICENSES.txt | 195 + backend/common/rhn_rpm.py | 61 backend/rhn-conf/rhn_server_iss.conf | 2 backend/rhn-conf/rhn_server_satellite.conf | 2 backend/satellite_tools/Makefile | 2 backend/satellite_tools/connection.py | 2 backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml | 6 backend/satellite_tools/rhn-db-stats | 35 backend/satellite_tools/satComputePkgHeaders.py | 4 backend/satellite_tools/satellite-sync.sgml | 2 backend/satellite_tools/satsync.py | 11 backend/satellite_tools/spacewalk-debug | 24 backend/satellite_tools/sync_handlers.py | 17 backend/satellite_tools/xmlWireSource.py | 3 backend/server/action/packages.py | 67 backend/server/rhnPackageUpload.py | 55 backend/server/rhnSQL/driver_cx_Oracle.py | 2 backend/server/rhnServer/server_hardware.py | 3 backend/spacewalk-backend.spec | 17 branding/css/rhn-listview.css | 5 branding/spacewalk-branding.spec | 6 client/rhel/rhn-client-tools/etc-conf/Makefile | 5 client/rhel/rhn-client-tools/rhn-client-tools.spec | 14 client/rhel/rhn-client-tools/rhn_register.desktop | 10 client/solaris/rhnclient/Makefile | 3 client/solaris/rhnclient/PYTHON-LICENSES.txt | 195 + client/solaris/rhnclient/compile.py | 16 client/solaris/rhnclient/rhnclient.spec | 8 client/solaris/rhnclient/version | 1 client/solaris/smartpm/smartpm.spec | 8 client/solaris/smartpm/version | 1 client/tools/osad/PYTHON-LICENSES.txt | 195 + client/tools/osad/compile.py | 6 client/tools/osad/osad.spec | 8 client/tools/osad/src/_ConfigParser.py | 1 client/tools/rhncfg/PYTHON-LICENSES.txt | 195 + client/tools/rhncfg/actions/configfiles.py | 5 client/tools/rhncfg/compile.py | 6 client/tools/rhncfg/rhncfg.spec | 5 client/tools/rhncustominfo/PYTHON-LICENSES.txt | 195 + client/tools/rhncustominfo/compile.py | 6 client/tools/spacewalk-koan/PYTHON-LICENSES.txt | 195 + client/tools/spacewalk-koan/compile.py | 6 java/code/internal/src/com/redhat/rhn/internal/doclet/EnforcementDoclet.java | 8 java/code/src/com/redhat/rhn/common/conf/Config.java | 2 java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml | 15 java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml | 86 java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml | 27 java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml | 29 java/code/src/com/redhat/rhn/common/db/datasource/xml/test_queries.xml | 9 java/code/src/com/redhat/rhn/common/errors/NoSuchPackageExceptionHandler.java | 45 java/code/src/com/redhat/rhn/common/validator/StringConstraint.java | 32 java/code/src/com/redhat/rhn/common/validator/test/TestObject.java | 17 java/code/src/com/redhat/rhn/common/validator/test/TestObject.xsd | 9 java/code/src/com/redhat/rhn/common/validator/test/ValidatorServiceTest.java | 2 java/code/src/com/redhat/rhn/common/validator/test/ValidatorTest.java | 2 java/code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml | 6 java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java | 29 java/code/src/com/redhat/rhn/domain/channel/test/ChannelFactoryTest.java | 15 java/code/src/com/redhat/rhn/domain/errata/ErrataFactory.java | 10 java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java | 36 java/code/src/com/redhat/rhn/domain/token/test/ActivationKeyTest.java | 18 java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java | 11 java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java | 7 java/code/src/com/redhat/rhn/frontend/action/common/test/DownloadActionTest.java | 12 java/code/src/com/redhat/rhn/frontend/action/configuration/sdc/FileListSetupAction.java | 8 java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataAction.java | 174 - java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataActionHelper.java | 83 java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataSetupAction.java | 120 java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListAction.java | 44 java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListAllAction.java | 25 java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListBaseAction.java | 88 java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java | 30 java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantSetupAction.java | 36 java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListSetupAction.java | 36 java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java | 110 java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataSetupAction.java | 76 java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataAction.java | 115 java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataSetupAction.java | 76 java/code/src/com/redhat/rhn/frontend/action/errata/test/BaseErrataActionTestCase.java | 23 java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataActionTest.java | 6 java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataSetupActionTest.java | 218 - java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListActionTest.java | 47 java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListRelevantActionTest.java | 39 java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListRelevantSetupActionTest.java | 42 java/code/src/com/redhat/rhn/frontend/action/errata/test/PublishedErrataActionTest.java | 43 java/code/src/com/redhat/rhn/frontend/action/errata/test/UnpublishedErrataActionTest.java | 41 java/code/src/com/redhat/rhn/frontend/action/errata/test/UnpublishedErrataSetupActionTest.java | 54 java/code/src/com/redhat/rhn/frontend/action/multiorg/OrgCreateAction.java | 5 java/code/src/com/redhat/rhn/frontend/action/rhnpackage/BaseSystemPackagesConfirmAction.java | 22 java/code/src/com/redhat/rhn/frontend/action/rhnpackage/PackageDetailsAction.java | 148 - java/code/src/com/redhat/rhn/frontend/action/rhnpackage/RemoveConfirmSetupAction.java | 2 java/code/src/com/redhat/rhn/frontend/action/rhnset/SetItemSelectionAction.java | 4 java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsAction.java | 45 java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsSetupAction.java | 47 java/code/src/com/redhat/rhn/frontend/action/schedule/BaseScheduledListAction.java | 135 java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsAction.java | 58 java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsSetupAction.java | 37 java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsAction.java | 58 java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsSetupAction.java | 38 java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsAction.java | 59 java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmAction.java | 97 java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmSubmitAction.java | 58 java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsSetupAction.java | 34 java/code/src/com/redhat/rhn/frontend/action/schedule/ScheduledActionAction.java | 189 - java/code/src/com/redhat/rhn/frontend/action/schedule/ScheduledActionSetupAction.java | 84 java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsSetupTest.java | 27 java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsTest.java | 39 java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsActionTest.java | 49 java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsSetupActionTest.java | 57 java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsActionTest.java | 48 java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsSetupActionTest.java | 59 java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsActionTest.java | 48 java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsDeleteConfirmActionTest.java | 27 java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsSetupActionTest.java | 57 java/code/src/com/redhat/rhn/frontend/action/schedule/test/ScheduledActionActionTestCase.java | 120 java/code/src/com/redhat/rhn/frontend/action/schedule/test/ScheduledActionSetupActionTestCase.java | 40 java/code/src/com/redhat/rhn/frontend/action/systems/ErrataSetupAction.java | 154 - java/code/src/com/redhat/rhn/frontend/action/systems/SystemListHelper.java | 3 java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/ProbesListSetupAction.java | 55 java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java | 8 java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataActionTest.java | 4 java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataSetupActionTest.java | 1 java/code/src/com/redhat/rhn/frontend/security/PxtAuthenticationService.java | 11 java/code/src/com/redhat/rhn/frontend/security/test/PxtAuthenticationServiceTest.java | 3 java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml | 17 java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml | 68 java/code/src/com/redhat/rhn/frontend/taglibs/list/SelectableColumnTag.java | 6 java/code/src/com/redhat/rhn/frontend/taglibs/list/decorators/SystemIconDecorator.java | 2 java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java | 203 - java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListSessionSetHelper.java | 202 - java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java | 22 java/code/src/com/redhat/rhn/frontend/xmlrpc/channel/software/ChannelSoftwareHandler.java | 6 java/code/src/com/redhat/rhn/frontend/xmlrpc/errata/ErrataHandler.java | 2 java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/test/ProxyHandlerTest.java | 3 java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/SerializerRegistry.java | 3 java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/ServerPathSerializer.java | 66 java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java | 31 java/code/src/com/redhat/rhn/frontend/xmlrpc/system/test/SystemHandlerTest.java | 49 java/code/src/com/redhat/rhn/manager/action/ActionManager.java | 1 java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java | 36 java/code/src/com/redhat/rhn/manager/download/DownloadManager.java | 45 java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java | 73 java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java | 29 java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java | 15 java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java | 18 java/code/src/com/redhat/rhn/manager/kickstart/KickstartScheduleCommand.java | 13 java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java | 24 java/code/src/com/redhat/rhn/manager/profile/ProfileManager.java | 2 java/code/src/com/redhat/rhn/manager/profile/test/ProfileManagerTest.java | 51 java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java | 17 java/code/src/com/redhat/rhn/manager/rhnpackage/test/PackageManagerTest.java | 39 java/code/src/com/redhat/rhn/manager/system/SystemManager.java | 84 java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java | 28 java/code/src/com/redhat/rhn/manager/token/ActivationKeyManager.java | 12 java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java | 96 java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java | 70 java/code/src/org/cobbler/CobblerConnection.java | 18 java/code/src/org/cobbler/CobblerObject.java | 57 java/code/src/org/cobbler/Distro.java | 31 java/code/src/org/cobbler/Profile.java | 34 java/code/src/org/cobbler/SystemRecord.java | 34 java/code/src/org/cobbler/test/MockConnection.java | 13 java/code/webapp/WEB-INF/pages/admin/config/cobbler.jsp | 53 java/code/webapp/WEB-INF/pages/channel/manage/edit.jsp | 2 java/code/webapp/WEB-INF/pages/common/errors/nosuchpkg.jsp | 16 java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf | 81 java/code/webapp/WEB-INF/pages/common/fragments/errata/relevant-errata-list.jspf | 77 java/code/webapp/WEB-INF/pages/common/fragments/probes/probe-state-column-new.jspf | 28 java/code/webapp/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf | 84 java/code/webapp/WEB-INF/pages/errata/all.jsp | 43 java/code/webapp/WEB-INF/pages/errata/cloneerrata.jsp | 148 - java/code/webapp/WEB-INF/pages/errata/overview.jsp | 5 java/code/webapp/WEB-INF/pages/errata/published.jsp | 10 java/code/webapp/WEB-INF/pages/errata/relevant.jsp | 5 java/code/webapp/WEB-INF/pages/errata/unpublished.jsp | 11 java/code/webapp/WEB-INF/pages/schedule/archivedactions.jsp | 127 java/code/webapp/WEB-INF/pages/schedule/completedactions.jsp | 28 java/code/webapp/WEB-INF/pages/schedule/failedactions.jsp | 31 java/code/webapp/WEB-INF/pages/schedule/pendingactions.jsp | 55 java/code/webapp/WEB-INF/pages/schedule/pendingactionsconfirm.jsp | 123 java/code/webapp/WEB-INF/pages/systems/details/kickstart/session_status.jsp | 4 java/code/webapp/WEB-INF/pages/systems/details/packages/packageconfirm.jsp | 3 java/code/webapp/WEB-INF/pages/systems/errata.jsp | 30 java/code/webapp/WEB-INF/pages/systems/probes/index.jsp | 79 java/code/webapp/WEB-INF/pages/systems/sdc/overview.jsp | 4 java/code/webapp/WEB-INF/struts-config.xml | 148 - java/ivy.xml | 4 java/spacewalk-java.spec | 50 monitoring/nocpulse-common/nocpulse-common.spec | 12 monitoring/spacewalk-monitoring/spacewalk-monitoring.spec | 9 monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec | 9 playpen/README | 2 projects/oracle-server-scripts/oracle-server-scripts.spec | 6 proxy/installer/configure-proxy.sh | 169 - proxy/installer/spacewalk-proxy-installer.spec | 14 proxy/proxy/PYTHON-LICENSES.txt | 195 + proxy/proxy/compile.py | 3 proxy/proxy/spacewalk-proxy.spec | 9 rel-eng/bin/sign_unsigned.py | 742 +++++ rel-eng/bin/tito | 2 rel-eng/global.build.py.props | 19 rel-eng/koji-missing-builds.py | 6 rel-eng/lib/spacewalk/releng/builder.py | 23 rel-eng/lib/spacewalk/releng/cli.py | 11 rel-eng/lib/spacewalk/releng/tagger.py | 77 rel-eng/packages/nocpulse-common | 2 rel-eng/packages/oracle-instantclient-selinux | 2 rel-eng/packages/oracle-server-scripts | 2 rel-eng/packages/osad | 2 rel-eng/packages/rhn-client-tools | 2 rel-eng/packages/rhncfg | 2 rel-eng/packages/rhnclient | 1 rel-eng/packages/smartpm | 1 rel-eng/packages/spacewalk-admin | 2 rel-eng/packages/spacewalk-backend | 2 rel-eng/packages/spacewalk-branding | 2 rel-eng/packages/spacewalk-certs-tools | 2 rel-eng/packages/spacewalk-config | 2 rel-eng/packages/spacewalk-java | 2 rel-eng/packages/spacewalk-monitoring | 2 rel-eng/packages/spacewalk-proxy | 2 rel-eng/packages/spacewalk-proxy-installer | 2 rel-eng/packages/spacewalk-proxy-monitoring | 2 rel-eng/packages/spacewalk-schema | 2 rel-eng/packages/spacewalk-selinux | 2 rel-eng/packages/spacewalk-setup | 2 rel-eng/packages/spacewalk-web | 2 rel-eng/tito.props | 12 satellite/install/install.pl | 19 schema/spacewalk/rhnsat/tables/rhnPackage.sql | 5 schema/spacewalk/rhnsat/tables/rhnReleaseChannelMap.sql | 5 schema/spacewalk/spacewalk-schema.spec | 5 selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec | 29 selinux/spacewalk-selinux/spacewalk-selinux.spec | 12 selinux/spacewalk-selinux/spacewalk.fc | 3 spacewalk/admin/Makefile.admin | 1 spacewalk/admin/rhn-generate-pem.pl | 10 spacewalk/admin/rhn-satellite | 4 spacewalk/admin/rhn-sudo-load-ssl-cert | 4 spacewalk/admin/spacewalk-admin.spec | 12 spacewalk/certs-tools/Makefile.certs | 2 spacewalk/certs-tools/PYTHON-LICENSES.txt | 195 + spacewalk/certs-tools/compile.py | 1 spacewalk/certs-tools/rhn-sudo-ssl-tool | 4 spacewalk/certs-tools/rhn_ssl_tool.py | 19 spacewalk/certs-tools/spacewalk-certs-tools.spec | 9 spacewalk/config/etc/httpd/conf.d/zz-spacewalk-www.conf | 3 spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml | 375 ++ spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml | 180 + spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml | 395 ++ spacewalk/config/spacewalk-config.spec | 27 spacewalk/setup/bin/spacewalk-setup | 21 spacewalk/setup/lib/Spacewalk/Setup.pm | 32 spacewalk/setup/share/ssl.conf.1 | 2 spacewalk/setup/share/ssl.conf.2 | 2 spacewalk/setup/share/ssl.conf.3 | 2 spacewalk/setup/share/ssl.conf.4 | 2 spacewalk/setup/share/ssl.conf.5 | 2 spacewalk/setup/spacewalk-setup.spec | 20 web/conf/rhn_web.conf | 8 web/html/applications/rhn-proxy/3.6/cluster.ini | 8 web/html/applications/rhn-proxy/3.6/httpd/httpd.conf | 1461 ---------- web/html/applications/rhn-proxy/3.6/httpd/rhn_proxy.conf | 46 web/html/applications/rhn-proxy/3.6/install-rhn-proxy.xml | 557 --- web/html/applications/rhn-proxy/3.6/jabberd/c2s.xml | 347 -- web/html/applications/rhn-proxy/3.6/jabberd/sm.xml | 379 -- web/html/applications/rhn-proxy/3.6/rhn.conf | 29 web/html/applications/rhn-proxy/3.6/squid.conf | 30 web/html/applications/rhn-proxy/3.7/cluster.ini | 8 web/html/applications/rhn-proxy/3.7/httpd/httpd.conf | 1461 ---------- web/html/applications/rhn-proxy/3.7/httpd/rhn_proxy.conf | 46 web/html/applications/rhn-proxy/3.7/install-rhn-proxy.xml | 821 ----- web/html/applications/rhn-proxy/3.7/jabberd/c2s.xml | 347 -- web/html/applications/rhn-proxy/3.7/jabberd/sm.xml | 379 -- web/html/applications/rhn-proxy/3.7/rhn.conf | 29 web/html/applications/rhn-proxy/3.7/squid.conf | 30 web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml | 14 web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml | 16 web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml | 81 web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml | 81 web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml | 81 web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml | 89 web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml | 104 web/modules/rhn/RHN/ProxyInstall.pm | 2 web/modules/rhn/RHN/SatInstall.pm | 4 web/spacewalk-web.spec | 20 287 files changed, 7582 insertions(+), 9925 deletions(-)
New commits: commit 0ce4a44b1b05e6681ec5e6d67a763224d8dedcab Merge: 5729894... 2024719... Author: Devan Goodwin dgoodwin@redhat.com Date: Tue Mar 31 11:45:07 2009 -0300
Merge branch 'master' into pgmerge
Conflicts: backend/server/action/packages.py java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml spacewalk/setup/bin/spacewalk-setup
diff --cc backend/server/action/packages.py index 98edcb9,1d872cc..743f110 --- a/backend/server/action/packages.py +++ b/backend/server/action/packages.py @@@ -190,8 -194,7 +196,8 @@@ def runTransaction(server_id, action_id return { 'packages' : result }
# SQL statements -- used by update() +# PGPORT_2:AS KEYWORD - _packageStatement = """ + _packageStatement_update = """ select distinct pn.name name, pe.epoch epoch, diff --cc java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml index d2aea4a,f0d00b9..3deb3c5 --- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml +++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml @@@ -1069,9 -999,23 +1069,24 @@@ SELECT CP.package_id, CP.name_id, CP.ev </query> </mode>
+ <mode name="latest_package_equal_in_tree"> + <query params="cid, name"> + SELECT CP.package_id, CP.name_id, CP.evr_id, CP.package_arch_id + FROM rhnPackageName PN inner join + rhnChannelNewestPackage CP on CP.name_id = PN.id inner join + rhnChannel C on C.id = Cp.channel_id inner join + rhnPackage P on P.id = CP.package_id inner join + rhnPackageEvr EVR on P.evr_id = EVR.id + WHERE ( C.id = :cid or C.parent_channel = :cid) + AND PN.name = :name + order by EVR.evr DESC + </query> + </mode> + + <mode name="latest_package_like"> <query params="cid, name"> +<!-- PGPORT_1:NO Change --> SELECT CP.package_id, CP.name_id, CP.evr_id FROM rhnPackageName PN, rhnChannelNewestPackage CP WHERE CP.channel_id = :cid diff --cc java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml index fc0eee4,76faf7f..f8092a2 --- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml +++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml @@@ -116,9 -85,50 +98,53 @@@ ORDER BY E.update_date DESC, E.i <elaborator name="errata_overview" /> </mode>
+ <mode name="relevant_to_system_by_types" class="com.redhat.rhn.frontend.dto.ErrataOverview"> + <query params="user_id, sid"> ++<!-- PGPORT_0: UNTAGGED --> + SELECT DISTINCT E.id, E.update_date, + E.synopsis AS ADVISORY_SYNOPSIS, + E.advisory_name AS ADVISORY_NAME, + E.advisory_type AS ADVISORY_TYPE, + :sid as ASSOCIATED_SYSTEM + FROM rhnErrata E, + rhnServerNeededErrataCache SNEC + WHERE EXISTS (SELECT server_id FROM rhnUserServerPerms USP + WHERE USP.user_id = :user_id + AND USP.server_id = :sid) + AND SNEC.server_id = :sid + AND SNEC.errata_id = E.id + AND E.advisory_type in (%s) + ORDER BY E.update_date DESC, E.id + </query> + <elaborator name="relevant_elab" /> + <elaborator name="errata_overview" /> + </mode> + + + <query name="relevant_elab" params="sid" > ++<!-- PGPORT_0: UNTAGGED --> + SELECT DISTINCT AEU.errata_id AS id, + AST.name AS status, + SA.action_id + FROM rhnActionErrataUpdate AEU, + rhnServerAction SA, + rhnActionStatus AST + WHERE SA.server_id = :sid + AND SA.action_id = AEU.action_id + AND AEU.errata_id IN (%s) + AND AST.id = SA.status + AND NOT ( EXISTS ( SELECT 1 FROM rhnServerNeededErrataCache + WHERE server_id = SA.server_id + AND errata_id = AEU.errata_id + ) + AND AST.name = 'Completed' -- filter out rolled back status + ) + </query> + + <mode name="relevant_to_system_by_type" class="com.redhat.rhn.frontend.dto.ErrataOverview"> <query params="user_id, sid, type"> +<!-- PGPORT_1:NO CHANGE --> SELECT DISTINCT E.id, E.update_date, E.synopsis AS ADVISORY_SYNOPSIS, E.advisory_name AS ADVISORY_NAME, @@@ -154,10 -163,9 +180,10 @@@ ORDER BY E.advisory_type DESC, E.updat
<mode name="count_critical_errata_for_system"> <query params="user_id, sid"> +<!-- PGPORT_1:NO CHANGE --> SELECT COUNT(DISTINCT E.ID) AS COUNT FROM rhnErrata E, - rhnServerNeededPackageCache SNEC, + rhnServerNeededCache SNEC, rhnUserServerPerms USP WHERE USP.server_id = :sid AND USP.user_id = :user_id @@@ -170,10 -178,9 +196,10 @@@
<mode name="count_noncritical_errata_for_system"> <query params="user_id, sid"> +<!-- PGPORT_1:NO CHANGE --> SELECT COUNT(DISTINCT E.ID) AS COUNT FROM rhnErrata E, - rhnServerNeededPackageCache SNEC, + rhnServerNeededCache SNEC, rhnUserServerPerms USP WHERE USP.server_id = :sid AND USP.user_id = :user_id @@@ -331,10 -333,11 +357,10 @@@ ORDER BY update_date DES </query> </mode>
- - <mode name="relevant_to_channel_by_type"> <query params="cid, type"> +<!-- PGPORT_1:NO CHANGE --> - SSELECT DISTINCT + SELECT DISTINCT E.advisory_name AS advisory, TO_CHAR(E.issue_date, 'YYYY-MM-DD HH24:MI:SS') AS issue_date, TO_CHAR(E.update_date, 'YYYY-MM-DD HH24:MI:SS') AS update_date, @@@ -717,12 -702,9 +743,12 @@@ ORDER BY E.update_date DESC, E.i </query> </mode>
+ + <mode name="clonable_errata_list_all" class="com.redhat.rhn.frontend.dto.ClonableErrataDto"> <query params="org_id"> +<!-- PGPORT_3:ORAFCE(NVL) --> - SELECT E.id, E.advisory, E.advisory_type, E.advisory_name, + SELECT distinct E.id, E.advisory, E.advisory_type, E.advisory_name, E.synopsis, TO_CHAR(E.update_date, 'YYYY-MM-DD') AS update_date, NVL(((SELECT 1 FROM rhnErrata E2, rhnErrataCloned EC @@@ -749,8 -731,7 +775,8 @@@ ORDER BY update_date DESC, E.i
<mode name="clonable_errata_list_uncloned" class="com.redhat.rhn.frontend.dto.ClonableErrataDto"> <query params="org_id"> +<!-- PGPORT_3:ORAFCE(NVL) --> - SELECT E.id, E.advisory, E.advisory_type, E.advisory_name, + SELECT distinct E.id, E.advisory, E.advisory_type, E.advisory_name, E.synopsis, TO_CHAR(E.update_date, 'YYYY-MM-DD') AS update_date, NVL(((SELECT 1 FROM rhnErrata E2, rhnErrataCloned EC @@@ -787,8 -768,7 +813,8 @@@ ORDER BY update_date DESC, E.i
<mode name="clonable_errata_for_channel_all" class="com.redhat.rhn.frontend.dto.ClonableErrataDto"> <query params="channel_id, org_id"> +<!-- PGPORT_3:ORAFCE(NVL) --> - SELECT E.id, E.advisory, E.advisory_type, E.advisory_name, + SELECT distinct E.id, E.advisory, E.advisory_type, E.advisory_name, E.synopsis, TO_CHAR(E.update_date, 'YYYY-MM-DD') AS update_date, NVL(((SELECT 1 FROM rhnErrata E2, rhnErrataCloned EC @@@ -816,8 -796,7 +842,8 @@@ ORDER BY update_date DESC, E.i
<mode name="clonable_errata_for_channel_uncloned" class="com.redhat.rhn.frontend.dto.ClonableErrataDto"> <query params="channel_id, org_id"> +<!-- PGPORT_3:ORAFCE(NVL) --> - SELECT E.id, E.advisory, E.advisory_type, E.advisory_name, + SELECT distinct E.id, E.advisory, E.advisory_type, E.advisory_name, E.synopsis, TO_CHAR(E.update_date, 'YYYY-MM-DD') AS update_date, NVL(((SELECT 1 FROM rhnErrata E2, rhnErrataCloned EC
commit 202471997b220255bcc185552f96ab2ee7a0ad8e Author: Dennis Gilmore dennis@ausil.us Date: Mon Mar 30 20:42:23 2009 -0500
use except not else
diff --git a/rel-eng/bin/sign_unsigned.py b/rel-eng/bin/sign_unsigned.py index da15b5e..bee7600 100755 --- a/rel-eng/bin/sign_unsigned.py +++ b/rel-eng/bin/sign_unsigned.py @@ -8,7 +8,7 @@ import base64 try: import koji -else: +except: import brew as koji import md5 import os
commit 1c859ec04f9cc8ff8fecb4c67461851d05f9b363 Author: Dennis Gilmore dennis@ausil.us Date: Mon Mar 30 20:13:26 2009 -0500
use certs from standard spacewalk location
diff --git a/rel-eng/bin/sign_unsigned.py b/rel-eng/bin/sign_unsigned.py index 9ed52af..da15b5e 100755 --- a/rel-eng/bin/sign_unsigned.py +++ b/rel-eng/bin/sign_unsigned.py @@ -710,9 +710,9 @@ class SignUnsigned(CliTool, KojiTool):
def cmd_default(self): self.tweak_options() - clientcert = '/etc/pki/pkgsigner/pkgsigner.pem' - clientca = '/etc/pki/pkgsigner/spacewalk-upload-ca.cert' - serverca = '/etc/pki/pkgsigner/spacewalk-upload-ca.cert' + clientcert = os.path.join(os.path.expanduser('~'), ".spacewalk.cert") + clientca = os.path.join(os.path.expanduser('~'), ".spacewalk-ca.cert") + serverca = os.path.join(os.path.expanduser('~'), ".spacewalk-ca.cert") self.koji_session.ssl_login(clientcert, clientca, serverca) # NEEDSWORK self.print_msg("Getting rpm list from koji") if self.options.builds:
commit 4c88b6bd9810e0a6527e01694de0966d8695e539 Author: Dennis Gilmore dennis@ausil.us Date: Mon Mar 30 20:07:22 2009 -0500
handle using either koji or brew
diff --git a/rel-eng/bin/sign_unsigned.py b/rel-eng/bin/sign_unsigned.py index 5da2af1..9ed52af 100755 --- a/rel-eng/bin/sign_unsigned.py +++ b/rel-eng/bin/sign_unsigned.py @@ -6,7 +6,10 @@ # Copyright (c) 2009 Red Hat
import base64 -import koji +try: + import koji +else: + import brew as koji import md5 import os import os.path
commit 3cd8b7a509d0eaf3d2132cb68283b9f8a2c55315 Author: Mike McCune mmccune@gmail.com Date: Mon Mar 30 16:17:29 2009 -0700
Automatic commit of package [spacewalk-java] release [0.5.44-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec index 37a3bf9..87c3543 100644 --- a/java/spacewalk-java.spec +++ b/java/spacewalk-java.spec @@ -10,7 +10,7 @@ Name: spacewalk-java Summary: Spacewalk Java site packages Group: Applications/Internet License: GPLv2 -Version: 0.5.43 +Version: 0.5.44 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -235,7 +235,7 @@ fi %attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog -* Mon Mar 30 2009 Mike McCune mmccune@gmail.com 0.5.43-1 +* Mon Mar 30 2009 Mike McCune mmccune@gmail.com 0.5.44-1 - 472595 - ported query forgot to check child channels - 144325 - converting system probe list to the new list tag, featuring all the bells and whistles the new list tag has to offer diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java index f6db4d9..219ea59 100644 --- a/rel-eng/packages/spacewalk-java +++ b/rel-eng/packages/spacewalk-java @@ -1 +1 @@ -0.5.43-1 java/ +0.5.44-1 java/
commit 78209408ea906801957646d59f0abe1a01eae1a0 Author: Justin Sherrill jsherril@redhat.com Date: Mon Mar 30 19:12:32 2009 -0400
443132 - forgot to add a couple of new files to the commit
diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/BaseScheduledListAction.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/BaseScheduledListAction.java new file mode 100644 index 0000000..413e5d7 --- /dev/null +++ b/java/code/src/com/redhat/rhn/frontend/action/schedule/BaseScheduledListAction.java @@ -0,0 +1,135 @@ +/** + * Copyright (c) 2009 Red Hat, Inc. + * + * This software is licensed to you under the GNU General Public License, + * version 2 (GPLv2). There is NO WARRANTY for this software, express or + * implied, including the implied warranties of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 + * along with this software; if not, see + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. + * + * Red Hat trademarks are not licensed under GPLv2. No permission is + * granted to use or replicate Red Hat trademarks that are incorporated + * in this software or its documentation. + */ +package com.redhat.rhn.frontend.action.schedule; + +import com.redhat.rhn.common.localization.LocalizationService; +import com.redhat.rhn.domain.rhnset.RhnSet; +import com.redhat.rhn.domain.user.User; +import com.redhat.rhn.frontend.struts.RequestContext; +import com.redhat.rhn.frontend.struts.RhnAction; +import com.redhat.rhn.frontend.struts.StrutsDelegate; +import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper; +import com.redhat.rhn.frontend.taglibs.list.helper.Listable; +import com.redhat.rhn.manager.action.ActionManager; +import com.redhat.rhn.manager.rhnset.RhnSetDecl; + +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import org.apache.struts.action.ActionMessage; +import org.apache.struts.action.ActionMessages; + +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * Base action for scheduled action lists + * @version $Rev$ + */ +public abstract class BaseScheduledListAction extends RhnAction implements Listable { + + /** + * + * {@inheritDoc} + */ + public ActionForward execute(ActionMapping mapping, + ActionForm formIn, + HttpServletRequest request, + HttpServletResponse response) { + + RequestContext context = new RequestContext(request); + ListRhnSetHelper helper = new ListRhnSetHelper(this, request, getSetDecl()); + helper.execute(); + if (helper.isDispatched()) { + return handleSubmit(mapping, formIn, request, response); + } + + return mapping.findForward("default"); + } + + + /** + * Gets the set decl + * @return the set decl + */ + protected abstract RhnSetDecl getSetDecl(); + + /** + * + * {@inheritDoc} + */ + public abstract List getResult(RequestContext context); + + /** + * Handle the submit + * @return an action forward + */ + protected abstract ActionForward handleSubmit(ActionMapping mapping, + ActionForm formIn, + HttpServletRequest request, + HttpServletResponse response); + + + /** + * Archives the actions. + * @param mapping ActionMapping + * @param formIn ActionForm + * @param request ServletRequest + * @param response ServletResponse + * @return The ActionForward to go to next. + */ + public ActionForward archiveAction(ActionMapping mapping, + ActionForm formIn, + HttpServletRequest request, + HttpServletResponse response) { + + RequestContext requestContext = new RequestContext(request); + StrutsDelegate strutsDelegate = getStrutsDelegate(); + + User user = requestContext.getLoggedInUser(); + //Update the set first and get the size so we know + //how many actions we have archived. + RhnSet set = getSetDecl().get(user); + + //Archive the actions + ActionManager.archiveActions(user, getSetDecl().getLabel()); + + + ActionMessages msgs = new ActionMessages(); + /** + * If there was only one action archived, display the "action" archived + * message, else display the "actions" archived message. + */ + if (set.size() == 1) { + msgs.add(ActionMessages.GLOBAL_MESSAGE, + new ActionMessage("message.actionArchived", + LocalizationService.getInstance() + .formatNumber(new Integer(set.size())))); + } + else { + msgs.add(ActionMessages.GLOBAL_MESSAGE, + new ActionMessage("message.actionsArchived", + LocalizationService.getInstance() + .formatNumber(new Integer(set.size())))); + } + strutsDelegate.saveMessages(request, msgs); + + return mapping.findForward("archive"); + } + +} diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf new file mode 100644 index 0000000..d0369e2 --- /dev/null +++ b/java/code/webapp/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf @@ -0,0 +1,84 @@ + <rl:decorator name="PageSizeDecorator"/> + <rl:decorator name="SelectableDecorator"/> + <rl:decorator name="ElaborationDecorator"/> + + + + + <rl:selectablecolumn value="${current.selectionKey}" + selected="${current.selected}" + disabled="${not current.selectable}" + headerclass="first-column" + styleclass="first-column"/> + + + <rl:column sortable="true" + bound="false" + headerkey="actions.jsp.action" + sortattr="actionName" + defaultsort="asc" + filterattr="actionName" + styleclass="list-fat-column-50"> + <a href="/rhn/schedule/CompletedSystems.do?aid=${current.id}">${current.actionName}</a> + </rl:column> + + + <rl:column sortable="true" + bound="false" + headerkey="actions.jsp.earliest" + sortattr="earliest" + > + <c:out value="${current.earliest}" /> + </rl:column> + + + <rl:column sortable="false" + bound="false" + headerkey="actions.jsp.succeeded" + styleclass="thin-column" + > + <c:if test="${current.completed != 0}"> + <a href="/rhn/schedule/CompletedSystems.do?aid=${current.id}">${current.completed}</a> + </c:if> + <c:if test="${current.completed == 0}"> + ${current.completed} + </c:if> + </rl:column> + + + <rl:column sortable="false" + bound="false" + headerkey="actions.jsp.failed" + styleclass="thin-column" + > + <c:if test="${current.failed != 0}"> + <a href="/rhn/schedule/FailedSystems.do?aid=${current.id}">${current.failed}</a> + </c:if> + <c:if test="${current.failed == 0}"> + ${current.failed} + </c:if> + </rl:column> + + + + <rl:column sortable="false" + bound="false" + headerkey="actions.jsp.inprogress" + styleclass="thin-column" + > + <c:if test="${current.inProgress != 0}"> + <a href="/rhn/schedule/InProgressSystems.do?aid=${current.id}">${current.inProgress}</a> + </c:if> + <c:if test="${current.inProgress == 0}"> + ${current.inProgress} + </c:if> + </rl:column> + + + <rl:column sortable="false" + bound="false" + headerkey="actions.jsp.total" + styleclass="last-column thin-column"> + ${current.tally} + </rl:column> +
commit c6d78947e1afd544178ac095f2df159426c5248a Author: Justin Sherrill jsherril@redhat.com Date: Mon Mar 30 19:08:26 2009 -0400
443132 - converted all 4 action lists to new list tag, including converting them from using Setup & Action to just using a single action, and converting the cancel confirm to use the new list tag
diff --git a/branding/css/rhn-listview.css b/branding/css/rhn-listview.css index eef7509..4649bac 100644 --- a/branding/css/rhn-listview.css +++ b/branding/css/rhn-listview.css @@ -566,3 +566,8 @@ tr.alphaResult td.sortedCol { .csv-download a { font-weight: bold; } + + +.list-fat-column-50 { + width: 50%; +} diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsAction.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsAction.java deleted file mode 100644 index f61ec23..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsAction.java +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.schedule; - -import com.redhat.rhn.frontend.struts.RhnListAction; - -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.ActionMapping; - -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * ArchivedActionsAction - * @version $Rev$ - */ -public class ArchivedActionsAction extends RhnListAction { - - /** {@inheritDoc} */ - public ActionForward execute(ActionMapping mapping, - ActionForm formIn, - HttpServletRequest request, - HttpServletResponse response) { - - Map params = makeParamMap(request); - - return getStrutsDelegate().forwardParams(mapping.findForward("default"), params); - } - -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsSetupAction.java index 503bbb0..1eed5e4 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsSetupAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/schedule/ArchivedActionsSetupAction.java @@ -14,17 +14,18 @@ */ package com.redhat.rhn.frontend.action.schedule;
-import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.listview.PageControl; import com.redhat.rhn.frontend.struts.RequestContext; -import com.redhat.rhn.frontend.struts.RhnListAction; +import com.redhat.rhn.frontend.struts.RhnAction; +import com.redhat.rhn.frontend.taglibs.list.helper.ListHelper; +import com.redhat.rhn.frontend.taglibs.list.helper.Listable; import com.redhat.rhn.manager.action.ActionManager;
import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping;
+import java.util.List; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
@@ -32,27 +33,31 @@ import javax.servlet.http.HttpServletResponse; * ArchivedActionsSetupAction * @version $Rev$ */ -public class ArchivedActionsSetupAction extends RhnListAction { +public class ArchivedActionsSetupAction extends RhnAction implements Listable {
- /** {@inheritDoc} */ + /** + * + * {@inheritDoc} + */ public ActionForward execute(ActionMapping mapping, - ActionForm formIn, - HttpServletRequest request, - HttpServletResponse response) { - - RequestContext requestContext = new RequestContext(request); + ActionForm formIn, + HttpServletRequest request, + HttpServletResponse response) {
- User user = requestContext.getLoggedInUser(); - PageControl pc = new PageControl(); - pc.setFilterColumn("earliest"); - - clampListBounds(pc, request, user); + RequestContext context = new RequestContext(request); + ListHelper helper = new ListHelper(this, request); + helper.execute();
- DataResult dr = ActionManager.archivedActions(user, pc); - - request.setAttribute("pageList", dr); - request.setAttribute("user", user); - return mapping.findForward("default"); } + + /** + * + * {@inheritDoc} + */ + public List getResult(RequestContext context) { + return ActionManager.archivedActions(context.getCurrentUser(), null); + } + + } diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsAction.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsAction.java deleted file mode 100644 index 7e656be..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsAction.java +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.schedule; - -import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.manager.action.ActionManager; -import com.redhat.rhn.manager.rhnset.RhnSetDecl; - -import org.apache.struts.action.ActionForm; - -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; - -/** - * CompletedActionsAction - * @version $Rev$ - */ -public class CompletedActionsAction extends ScheduledActionAction { - - /** - * {@inheritDoc} - */ - public DataResult getDataResult(User user, - ActionForm formIn, - HttpServletRequest request) { - return ActionManager.completedActions(user, null); - } - - /** - * {@inheritDoc} - */ - protected void processParamMap(ActionForm formIn, - HttpServletRequest request, - Map params) { - // no-op - } - - /** - * {@inheritDoc} - */ - protected RhnSetDecl getSetDecl() { - return RhnSetDecl.ACTIONS_COMPLETED; - } -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsSetupAction.java index 981ba01..6f32ed6 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsSetupAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/schedule/CompletedActionsSetupAction.java @@ -14,29 +14,50 @@ */ package com.redhat.rhn.frontend.action.schedule;
-import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.listview.PageControl; +import com.redhat.rhn.frontend.struts.RequestContext; import com.redhat.rhn.manager.action.ActionManager; import com.redhat.rhn.manager.rhnset.RhnSetDecl;
+import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; + +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + /** * CompletedActionsSetupAction * @version $Rev$ */ -public class CompletedActionsSetupAction extends ScheduledActionSetupAction { +public class CompletedActionsSetupAction extends BaseScheduledListAction {
+ + /** * {@inheritDoc} */ - protected DataResult getDataResult(User user, PageControl pc) { - return ActionManager.completedActions(user, pc); + protected RhnSetDecl getSetDecl() { + return RhnSetDecl.ACTIONS_COMPLETED; }
/** + * * {@inheritDoc} */ - protected RhnSetDecl getSetDecl() { - return RhnSetDecl.ACTIONS_COMPLETED; + public List getResult(RequestContext context) { + return ActionManager.completedActions(context.getLoggedInUser(), null); + } + + /** + * + * {@inheritDoc} + */ + protected ActionForward handleSubmit(ActionMapping mapping, + ActionForm formIn, HttpServletRequest request, + HttpServletResponse response) { + + return archiveAction(mapping, formIn, request, response); } } diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsAction.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsAction.java deleted file mode 100644 index 0317615..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsAction.java +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.schedule; - -import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.manager.action.ActionManager; -import com.redhat.rhn.manager.rhnset.RhnSetDecl; - -import org.apache.struts.action.ActionForm; - -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; - -/** - * FailedActionsAction - * @version $Rev$ - */ -public class FailedActionsAction extends ScheduledActionAction { - - /** - * {@inheritDoc} - */ - protected DataResult getDataResult(User user, - ActionForm formIn, - HttpServletRequest request) { - return ActionManager.failedActions(user, null); - } - - /** - * {@inheritDoc} - */ - protected void processParamMap(ActionForm formIn, - HttpServletRequest request, - Map params) { - //no-op - } - - /** - * {@inheritDoc} - */ - protected RhnSetDecl getSetDecl() { - return RhnSetDecl.ACTIONS_FAILED; - } -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsSetupAction.java index e4c51db..dfef09e 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsSetupAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/schedule/FailedActionsSetupAction.java @@ -14,29 +14,51 @@ */ package com.redhat.rhn.frontend.action.schedule;
-import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.listview.PageControl; +import com.redhat.rhn.frontend.struts.RequestContext; import com.redhat.rhn.manager.action.ActionManager; import com.redhat.rhn.manager.rhnset.RhnSetDecl;
+import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; + +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + /** * FailedActionsSetupAction * @version $Rev$ */ -public class FailedActionsSetupAction extends ScheduledActionSetupAction { +public class FailedActionsSetupAction extends BaseScheduledListAction {
+ /** * {@inheritDoc} */ - protected DataResult getDataResult(User user, PageControl pc) { - return ActionManager.failedActions(user, pc); + protected RhnSetDecl getSetDecl() { + return RhnSetDecl.ACTIONS_FAILED; }
/** + * * {@inheritDoc} */ - protected RhnSetDecl getSetDecl() { - return RhnSetDecl.ACTIONS_FAILED; + public List getResult(RequestContext context) { + return ActionManager.failedActions(context.getCurrentUser(), null); + } + + /** + * + * {@inheritDoc} + */ + protected ActionForward handleSubmit(ActionMapping mapping, + ActionForm formIn, + HttpServletRequest request, + HttpServletResponse response) { + + return archiveAction(mapping, formIn, request, response); + } } diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsAction.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsAction.java deleted file mode 100644 index 8c86add..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsAction.java +++ /dev/null @@ -1,59 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.schedule; - -import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.manager.action.ActionManager; -import com.redhat.rhn.manager.rhnset.RhnSetDecl; - -import org.apache.struts.action.ActionForm; - -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; - -/** - * PendingActionsAction - * @version $Rev$ - */ -public class PendingActionsAction extends ScheduledActionAction { - - /** - * {@inheritDoc} - */ - protected DataResult getDataResult(User user, - ActionForm formIn, - HttpServletRequest request) { - - return ActionManager.pendingActions(user, null); - } - - /** - * {@inheritDoc} - */ - protected void processParamMap(ActionForm formIn, - HttpServletRequest request, - Map params) { - // no-op - } - - /** - * {@inheritDoc} - */ - protected RhnSetDecl getSetDecl() { - return RhnSetDecl.ACTIONS_PENDING; - } -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmAction.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmAction.java index 19cfca1..9c1adf5 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmAction.java @@ -14,30 +14,115 @@ */ package com.redhat.rhn.frontend.action.schedule;
-import com.redhat.rhn.common.db.datasource.DataResult; +import com.redhat.rhn.common.localization.LocalizationService; +import com.redhat.rhn.domain.rhnset.RhnSet; +import com.redhat.rhn.domain.rhnset.RhnSetElement; import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.listview.PageControl; +import com.redhat.rhn.frontend.struts.RequestContext; +import com.redhat.rhn.frontend.struts.RhnAction; +import com.redhat.rhn.frontend.struts.StrutsDelegate; +import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper; +import com.redhat.rhn.frontend.taglibs.list.helper.Listable; import com.redhat.rhn.manager.action.ActionManager; import com.redhat.rhn.manager.rhnset.RhnSetDecl; +import com.redhat.rhn.manager.rhnset.RhnSetManager; + +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import org.apache.struts.action.ActionMessage; +import org.apache.struts.action.ActionMessages; + +import java.util.LinkedList; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse;
/** * PendingActionsConfirmAction * @version $Rev: 101893 $ */ -public class PendingActionsDeleteConfirmAction extends ScheduledActionSetupAction { +public class PendingActionsDeleteConfirmAction extends RhnAction implements Listable {
/** + * * {@inheritDoc} */ - protected DataResult getDataResult(User user, PageControl pc) { - return ActionManager.pendingActionsInSet(user, null, - getSetDecl().getLabel()); + public ActionForward execute(ActionMapping mapping, + ActionForm formIn, + HttpServletRequest request, + HttpServletResponse response) { + + ListRhnSetHelper helper = new ListRhnSetHelper(this, request, getSetDecl()); + helper.setWillClearSet(false); + helper.execute(); + if (helper.isDispatched()) { + return cancelActions(mapping, request); + } + + return mapping.findForward("default"); }
+ + + /** * {@inheritDoc} */ protected RhnSetDecl getSetDecl() { return RhnSetDecl.ACTIONS_PENDING; } + + /** + * + * {@inheritDoc} + */ + public List getResult(RequestContext context) { + return ActionManager.pendingActionsInSet(context.getCurrentUser(), null, + getSetDecl().getLabel()); + } + + + private ActionForward cancelActions(ActionMapping mapping, HttpServletRequest request) { + RequestContext requestContext = new RequestContext(request); + StrutsDelegate strutsDelegate = getStrutsDelegate(); + + User user = requestContext.getLoggedInUser(); + RhnSet set = getSetDecl().get(user); + + + List actionsToCancel = new LinkedList(); + + for (RhnSetElement element : set.getElements()) { + actionsToCancel.add(element.getElement()); + } + + ActionManager.removeActions(actionsToCancel); + + + ActionMessages msgs = new ActionMessages(); + // If there was only one action cancelled, display the "action" cancelled + // message, else display the "actions" archived message. + if (set.size() == 1) { + msgs.add(ActionMessages.GLOBAL_MESSAGE, + new ActionMessage("message.actionCancelled", + LocalizationService.getInstance() + .formatNumber(new Integer(set.size())))); + } + else { + msgs.add(ActionMessages.GLOBAL_MESSAGE, + new ActionMessage("message.actionsCancelled", + LocalizationService.getInstance() + .formatNumber(new Integer(set.size())))); + } + strutsDelegate.saveMessages(request, msgs); + + set.clear(); + RhnSetManager.store(set); + + + return mapping.findForward("success"); + + } } diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmSubmitAction.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmSubmitAction.java deleted file mode 100644 index 67b0fa0..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsDeleteConfirmSubmitAction.java +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.schedule; - -import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.manager.action.ActionManager; -import com.redhat.rhn.manager.rhnset.RhnSetDecl; - -import org.apache.struts.action.ActionForm; - -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; - - -/** - * PendingActionsDeleteConfirmSubmitAction - * @version $Rev$ - */ -public class PendingActionsDeleteConfirmSubmitAction extends ScheduledActionAction { - /** - * {@inheritDoc} - */ - protected DataResult getDataResult(User user, - ActionForm formIn, - HttpServletRequest request) { - return ActionManager.pendingActions(user, null); - } - - /** - * {@inheritDoc} - */ - protected void processParamMap(ActionForm formIn, - HttpServletRequest request, - Map params) { - // no-op - } - - /** - * {@inheritDoc} - */ - protected RhnSetDecl getSetDecl() { - return RhnSetDecl.ACTIONS_PENDING; - } -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsSetupAction.java index a8a7f25..dc2f61e 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsSetupAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/schedule/PendingActionsSetupAction.java @@ -14,30 +14,48 @@ */ package com.redhat.rhn.frontend.action.schedule;
-import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.listview.PageControl; +import com.redhat.rhn.frontend.struts.RequestContext; import com.redhat.rhn.manager.action.ActionManager; import com.redhat.rhn.manager.rhnset.RhnSetDecl;
+import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; + +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + /** * PendingActionsSetupAction class. * @version $Rev$ */ -public class PendingActionsSetupAction extends ScheduledActionSetupAction { +public class PendingActionsSetupAction extends BaseScheduledListAction {
/** * {@inheritDoc} */ - protected DataResult getDataResult(User user, PageControl pc) { - return ActionManager.pendingActions(user, pc); + protected RhnSetDecl getSetDecl() { + return RhnSetDecl.ACTIONS_PENDING; }
/** + * * {@inheritDoc} */ - protected RhnSetDecl getSetDecl() { - return RhnSetDecl.ACTIONS_PENDING; + public List getResult(RequestContext context) { + return ActionManager.pendingActions(context.getCurrentUser(), null); + } + + /** + * + * {@inheritDoc} + */ + protected ActionForward handleSubmit(ActionMapping mapping, + ActionForm formIn, HttpServletRequest request, + HttpServletResponse response) { + return mapping.findForward("confirm"); }
} diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/ScheduledActionAction.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/ScheduledActionAction.java deleted file mode 100644 index 2c1a773..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/ScheduledActionAction.java +++ /dev/null @@ -1,189 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.schedule; - -import com.redhat.rhn.common.localization.LocalizationService; -import com.redhat.rhn.domain.rhnset.RhnSet; -import com.redhat.rhn.domain.rhnset.RhnSetElement; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.action.common.RhnSetAction; -import com.redhat.rhn.frontend.struts.RequestContext; -import com.redhat.rhn.frontend.struts.StrutsDelegate; -import com.redhat.rhn.manager.action.ActionManager; -import com.redhat.rhn.manager.rhnset.RhnSetManager; - -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.ActionMapping; -import org.apache.struts.action.ActionMessage; -import org.apache.struts.action.ActionMessages; - -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * ActionsAction - * @version $Rev$ - */ -public abstract class ScheduledActionAction extends RhnSetAction { - - /** - * Archives the actions. - * @param mapping ActionMapping - * @param formIn ActionForm - * @param request ServletRequest - * @param response ServletResponse - * @return The ActionForward to go to next. - */ - public ActionForward archiveAction(ActionMapping mapping, - ActionForm formIn, - HttpServletRequest request, - HttpServletResponse response) { - - RequestContext requestContext = new RequestContext(request); - StrutsDelegate strutsDelegate = getStrutsDelegate(); - - User user = requestContext.getLoggedInUser(); - //Update the set first and get the size so we know - //how many actions we have archived. - int numActions = updateSet(request).size(); - - //Archive the actions - ActionManager.archiveActions(user, getSetDecl().getLabel()); - - //Remove the actions from the users set - getSetDecl().clear(user); - Map params = makeParamMap(formIn, request); - - ActionMessages msgs = new ActionMessages(); - /** - * If there was only one action archived, display the "action" archived - * message, else display the "actions" archived message. - */ - if (numActions == 1) { - msgs.add(ActionMessages.GLOBAL_MESSAGE, - new ActionMessage("message.actionArchived", - LocalizationService.getInstance() - .formatNumber(new Integer(numActions)))); - } - else { - msgs.add(ActionMessages.GLOBAL_MESSAGE, - new ActionMessage("message.actionsArchived", - LocalizationService.getInstance() - .formatNumber(new Integer(numActions)))); - } - strutsDelegate.saveMessages(request, msgs); - - return strutsDelegate.forwardParams(mapping.findForward("default"), params); - } - - /** - * Cancels the actions. - * @param mapping ActionMapping - * @param formIn ActionForm - * @param request ServletRequest - * @param response ServletResponse - * @return The ActionForward to go to next. - */ - public ActionForward cancelActions(ActionMapping mapping, - ActionForm formIn, - HttpServletRequest request, - HttpServletResponse response) { - - RequestContext requestContext = new RequestContext(request); - StrutsDelegate strutsDelegate = getStrutsDelegate(); - - User user = requestContext.getLoggedInUser(); - // Update the set first and get the size so we know - // how many actions we have archived: - int numActions = updateSet(request).size(); - - // Cancel the actions: - Iterator it = RhnSetManager.findByLabel(user.getId(), - getSetDecl().getLabel(), null).getElements().iterator(); - List actionsToCancel = new LinkedList(); - while (it.hasNext()) { - RhnSetElement actionIdElement = (RhnSetElement)it.next(); - actionsToCancel.add(actionIdElement.getElement()); - } - - ActionManager.removeActions(actionsToCancel); - // Remove the actions from the users set: - getSetDecl().clear(user); - Map params = makeParamMap(formIn, request); - - ActionMessages msgs = new ActionMessages(); - // If there was only one action cancelled, display the "action" cancelled - // message, else display the "actions" archived message. - if (numActions == 1) { - msgs.add(ActionMessages.GLOBAL_MESSAGE, - new ActionMessage("message.actionCancelled", - LocalizationService.getInstance() - .formatNumber(new Integer(numActions)))); - } - else { - msgs.add(ActionMessages.GLOBAL_MESSAGE, - new ActionMessage("message.actionsCancelled", - LocalizationService.getInstance() - .formatNumber(new Integer(numActions)))); - } - strutsDelegate.saveMessages(request, msgs); - - return strutsDelegate.forwardParams(mapping.findForward("default"), params); - } - - /** - * Cancels the actions. - * @param mapping ActionMapping - * @param formIn ActionForm - * @param request ServletRequest - * @param response ServletResponse - * @return The ActionForward to go to next. - */ - public ActionForward cancelActionsConfirm(ActionMapping mapping, - ActionForm formIn, - HttpServletRequest request, - HttpServletResponse response) { - - RhnSet set = updateSet(request); - Map params = makeParamMap(formIn, request); - - StrutsDelegate strutsDelegate = getStrutsDelegate(); - - // If no actions were selected, return to the page with a message. - if (set.isEmpty()) { - ActionMessages msg = new ActionMessages(); - msg.add(ActionMessages.GLOBAL_MESSAGE, - new ActionMessage("actions.none")); - strutsDelegate.saveMessages(request, msg); - } - - return strutsDelegate.forwardParams(mapping.findForward("delete"), params); - } - - /** - * {@inheritDoc} - */ - protected void processMethodKeys(Map map) { - map.put("actions.jsp.archiveactions", "archiveAction"); - map.put("actions.jsp.cancelactions", "cancelActionsConfirm"); - map.put("actions.jsp.confirmcancelactions", "cancelActions"); - } -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/ScheduledActionSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/ScheduledActionSetupAction.java deleted file mode 100644 index 5722fa5..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/ScheduledActionSetupAction.java +++ /dev/null @@ -1,84 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.schedule; - -import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.rhnset.RhnSet; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.listview.PageControl; -import com.redhat.rhn.frontend.struts.RequestContext; -import com.redhat.rhn.frontend.struts.RhnListAction; -import com.redhat.rhn.manager.rhnset.RhnSetDecl; - -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.ActionMapping; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * ActionsSetupAction - * @version $Rev$ - */ -public abstract class ScheduledActionSetupAction extends RhnListAction { - - /** {@inheritDoc} */ - public ActionForward execute(ActionMapping mapping, - ActionForm formIn, - HttpServletRequest request, - HttpServletResponse response) { - RequestContext requestContext = new RequestContext(request); - User user = requestContext.getLoggedInUser(); - PageControl pc = new PageControl(); - pc.setFilterColumn("earliest"); - - clampListBounds(pc, request, user); - - DataResult dr = getDataResult(user, pc); - - RhnSet set = getSetDecl().get(user); - - request.setAttribute("pageList", dr); - request.setAttribute("user", user); - request.setAttribute("set", set); - - return mapping.findForward("default"); - } - - /** - * Method that returns the name/label for the particular - * scheduled action we are working on. - * @return Returns the name. - */ - public final String getListName() { return "foo"; } - - /** - * Method that returns the correct data result for a - * particular scheduled action. - * @param user The user in question - * @param pc The page control for the page - * @return Returns the DataResult for the page. - */ - protected abstract DataResult getDataResult(User user, PageControl pc); - - /** - * The declaration of the set we are working with, must be one of the - * constants from {@link RhnSetDecl} - * @return the declaration of the set we are working with - */ - protected abstract RhnSetDecl getSetDecl(); - -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsSetupTest.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsSetupTest.java index 46103eb..c9c7dee 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsSetupTest.java +++ b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsSetupTest.java @@ -14,24 +14,27 @@ */ package com.redhat.rhn.frontend.action.schedule.test;
-import com.redhat.rhn.frontend.action.schedule.ArchivedActionsSetupAction; -import com.redhat.rhn.testing.ActionHelper; -import com.redhat.rhn.testing.RhnBaseTestCase; +import com.redhat.rhn.testing.RhnMockStrutsTestCase;
/** * ArchivedActionsSetupTest * @version $Rev$ */ -public class ArchivedActionsSetupTest extends RhnBaseTestCase { +public class ArchivedActionsSetupTest extends RhnMockStrutsTestCase { + + public void setUp() throws Exception { + super.setUp(); + setRequestPathInfo("/schedule/ArchivedActions"); + } + + + public void testPerformExecute() throws Exception {
- public void testArchive() throws Exception { - ArchivedActionsSetupAction action = new ArchivedActionsSetupAction(); - ActionHelper sah = new ActionHelper(); - sah.setUpAction(action); - sah.setupClampListBounds(); - sah.executeAction(); - assertNotNull(sah.getRequest().getAttribute("pageList")); - assertNotNull(sah.getRequest().getAttribute("user"));
+ actionPerform(); + verifyForwardPath("/WEB-INF/pages/schedule/archivedactions.jsp"); + Object test = request.getAttribute("dataset"); + assertNotNull(test); + } } diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsTest.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsTest.java deleted file mode 100644 index e6ea162..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ArchivedActionsTest.java +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.schedule.test; - -import com.redhat.rhn.frontend.action.schedule.ArchivedActionsAction; -import com.redhat.rhn.testing.ActionHelper; -import com.redhat.rhn.testing.RhnBaseTestCase; - -import org.apache.struts.action.ActionForward; - -/** - * ArchivedActionsSetupTest - * @version $Rev$ - */ -public class ArchivedActionsTest extends RhnBaseTestCase { - - public void testArchive() throws Exception { - ArchivedActionsAction action = new ArchivedActionsAction(); - ActionHelper sah = new ActionHelper(); - sah.setUpAction(action); - sah.setupClampListBounds(); - sah.setupProcessPagination(); - ActionForward af = sah.executeAction(); - String expectedPath = "path?lower=10"; - assertEquals(expectedPath, af.getPath()); - } -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsActionTest.java deleted file mode 100644 index 3ba0d16..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsActionTest.java +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.schedule.test; - -import com.redhat.rhn.domain.action.Action; -import com.redhat.rhn.domain.action.ActionFactory; -import com.redhat.rhn.domain.action.server.ServerAction; -import com.redhat.rhn.domain.action.server.test.ServerActionTest; -import com.redhat.rhn.domain.server.Server; -import com.redhat.rhn.domain.server.test.ServerFactoryTest; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.action.schedule.CompletedActionsAction; -import com.redhat.rhn.frontend.action.schedule.ScheduledActionAction; - -/** - * CompletedActionsActionTest - * @version $Rev$ - */ -public class CompletedActionsActionTest extends ScheduledActionActionTestCase { - - protected ScheduledActionAction getAction() { - return new CompletedActionsAction(); - } - - protected void createServerAction(User user, Action action) throws Exception { - Server server = ServerFactoryTest.createTestServer(user, true); - ServerAction saction = ServerActionTest.createServerAction(server, action); - saction.setStatus(ActionFactory.STATUS_COMPLETED); - ActionFactory.save(action); - - } - - protected String getListName() { - return "completed_action_list"; - } - -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsSetupActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsSetupActionTest.java index 9a6de9a..7bd1532 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsSetupActionTest.java +++ b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/CompletedActionsSetupActionTest.java @@ -14,17 +14,66 @@ */ package com.redhat.rhn.frontend.action.schedule.test;
-import com.redhat.rhn.frontend.action.schedule.CompletedActionsSetupAction; +import com.redhat.rhn.domain.action.Action; +import com.redhat.rhn.domain.action.ActionFactory; +import com.redhat.rhn.domain.action.server.ServerAction; +import com.redhat.rhn.domain.action.test.ActionFactoryTest; +import com.redhat.rhn.domain.rhnset.RhnSet; +import com.redhat.rhn.domain.server.Server; +import com.redhat.rhn.domain.server.test.ServerFactoryTest; +import com.redhat.rhn.frontend.struts.RhnAction; +import com.redhat.rhn.manager.rhnset.RhnSetDecl; +import com.redhat.rhn.manager.rhnset.RhnSetManager; +import com.redhat.rhn.testing.RhnMockStrutsTestCase; +import com.redhat.rhn.testing.TestUtils;
/** * CompletedActionsSetupActionTest * @version $Rev$ */ -public class CompletedActionsSetupActionTest extends - ScheduledActionSetupActionTestCase { +public class CompletedActionsSetupActionTest extends RhnMockStrutsTestCase { + + public void setUp() throws Exception { + super.setUp(); + setRequestPathInfo("/schedule/CompletedActions"); + } + + +
public void testPerformExecute() throws Exception { - testPerformExecute(new CompletedActionsSetupAction()); + + + actionPerform(); + verifyForwardPath("/WEB-INF/pages/schedule/completedactions.jsp"); + Object test = request.getAttribute("dataset"); + assertNotNull(test); + + } + + public void testPerformSubmit() throws Exception { + + + + Server server = ServerFactoryTest.createTestServer(user); + + Action act = ActionFactoryTest.createAction(user, ActionFactory.TYPE_ERRATA); + ServerAction sAction = ActionFactoryTest.createServerAction(server, act); + sAction.setStatus(ActionFactory.STATUS_COMPLETED); + TestUtils.saveAndFlush(sAction); + + + RhnSet set = RhnSetDecl.ACTIONS_COMPLETED.get(user); + set.addElement(act.getId()); + RhnSetManager.store(set); + + request.addParameter(RhnAction.SUBMITTED, "true"); + request.addParameter("dispatch", "Archive Errata"); + actionPerform(); + verifyActionMessage("message.actionArchived"); + verifyForwardPath("/schedule/CompletedActions.do"); + + }
} diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsActionTest.java deleted file mode 100644 index 8e2807a..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsActionTest.java +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.schedule.test; - -import com.redhat.rhn.domain.action.Action; -import com.redhat.rhn.domain.action.ActionFactory; -import com.redhat.rhn.domain.action.server.ServerAction; -import com.redhat.rhn.domain.action.server.test.ServerActionTest; -import com.redhat.rhn.domain.server.Server; -import com.redhat.rhn.domain.server.test.ServerFactoryTest; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.action.schedule.FailedActionsAction; -import com.redhat.rhn.frontend.action.schedule.ScheduledActionAction; - -/** - * FailedActionsActionTest - * @version $Rev$ - */ -public class FailedActionsActionTest extends ScheduledActionActionTestCase { - - protected ScheduledActionAction getAction() { - return new FailedActionsAction(); - } - - protected void createServerAction(User user, Action action) throws Exception { - Server server = ServerFactoryTest.createTestServer(user, true); - ServerAction saction = ServerActionTest.createServerAction(server, action); - saction.setStatus(ActionFactory.STATUS_FAILED); - ActionFactory.save(action); - - } - - protected String getListName() { - return "failed_action_list"; - } -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsSetupActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsSetupActionTest.java index 3550631..b0356b1 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsSetupActionTest.java +++ b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/FailedActionsSetupActionTest.java @@ -14,16 +14,67 @@ */ package com.redhat.rhn.frontend.action.schedule.test;
-import com.redhat.rhn.frontend.action.schedule.FailedActionsSetupAction; +import com.redhat.rhn.domain.action.Action; +import com.redhat.rhn.domain.action.ActionFactory; +import com.redhat.rhn.domain.action.server.ServerAction; +import com.redhat.rhn.domain.action.test.ActionFactoryTest; +import com.redhat.rhn.domain.rhnset.RhnSet; +import com.redhat.rhn.domain.server.Server; +import com.redhat.rhn.domain.server.test.ServerFactoryTest; +import com.redhat.rhn.frontend.struts.RhnAction; +import com.redhat.rhn.manager.rhnset.RhnSetDecl; +import com.redhat.rhn.manager.rhnset.RhnSetManager; +import com.redhat.rhn.testing.RhnMockStrutsTestCase; +import com.redhat.rhn.testing.TestUtils;
/** * FailedActionsSetupActionTest * @version $Rev$ */ -public class FailedActionsSetupActionTest extends - ScheduledActionSetupActionTestCase { +public class FailedActionsSetupActionTest extends RhnMockStrutsTestCase { + + + public void setUp() throws Exception { + super.setUp(); + setRequestPathInfo("/schedule/FailedActions"); + } + + +
public void testPerformExecute() throws Exception { - testPerformExecute(new FailedActionsSetupAction()); + + + actionPerform(); + verifyForwardPath("/WEB-INF/pages/schedule/failedactions.jsp"); + Object test = request.getAttribute("dataset"); + assertNotNull(test); + } + + public void testPerformSubmit() throws Exception { + + + Server server = ServerFactoryTest.createTestServer(user); + + Action act = ActionFactoryTest.createAction(user, ActionFactory.TYPE_ERRATA); + ServerAction sAction = ActionFactoryTest.createServerAction(server, act); + sAction.setStatus(ActionFactory.STATUS_FAILED); + TestUtils.saveAndFlush(sAction); + + + RhnSet set = RhnSetDecl.ACTIONS_FAILED.get(user); + set.addElement(act.getId()); + RhnSetManager.store(set); + + request.addParameter(RhnAction.SUBMITTED, "true"); + request.addParameter("dispatch", "Archive Errata"); + actionPerform(); + verifyActionMessage("message.actionArchived"); + verifyForwardPath("/schedule/FailedActions.do"); + + + } + + } diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsActionTest.java deleted file mode 100644 index b524abb..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsActionTest.java +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.schedule.test; - -import com.redhat.rhn.domain.action.Action; -import com.redhat.rhn.domain.action.ActionFactory; -import com.redhat.rhn.domain.action.server.ServerAction; -import com.redhat.rhn.domain.action.server.test.ServerActionTest; -import com.redhat.rhn.domain.server.Server; -import com.redhat.rhn.domain.server.test.ServerFactoryTest; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.action.schedule.PendingActionsAction; -import com.redhat.rhn.frontend.action.schedule.ScheduledActionAction; - -/** - * PendingActionsActionTest - * @version $Rev$ - */ -public class PendingActionsActionTest extends ScheduledActionActionTestCase { - - protected ScheduledActionAction getAction() { - return new PendingActionsAction(); - } - - protected void createServerAction(User user, Action action) throws Exception { - Server server = ServerFactoryTest.createTestServer(user, true); - ServerAction saction = ServerActionTest.createServerAction(server, action); - saction.setStatus(ActionFactory.STATUS_QUEUED); - ActionFactory.save(action); - - } - - protected String getListName() { - return "pending_action_list"; - } -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsDeleteConfirmActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsDeleteConfirmActionTest.java index bece503..27bb378 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsDeleteConfirmActionTest.java +++ b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsDeleteConfirmActionTest.java @@ -51,33 +51,8 @@ public class PendingActionsDeleteConfirmActionTest extends RhnMockStrutsTestCase addDispatchCall("actions.jsp.confirmcancelactions"); setRequestPathInfo("/schedule/PendingActionsDeleteConfirm"); actionPerform(); - verifyNoActionMessages(); - } - - - public void testDeleteActions() throws Exception { - Action a = ActionFactoryTest.createAction(user, ActionFactory.TYPE_ERRATA); - Server server = ServerFactoryTest.createTestServer(user, true); - ServerAction saction = ServerActionTest.createServerAction(server, a); - saction.setStatus(ActionFactory.STATUS_QUEUED); - - Action b = ActionFactoryTest.createAction(user, ActionFactory.TYPE_ERRATA); - ServerAction saction2 = ServerActionTest.createServerAction(server, b); - saction2.setStatus(ActionFactory.STATUS_QUEUED); - - ActionFactory.save(a); - ActionFactory.save(b); - - RhnSet set = RhnSetDecl.ACTIONS_PENDING.get(user); - set.addElement(a.getId()); - set.addElement(b.getId()); - RhnSetManager.store(set); - - set = RhnSetDecl.ACTIONS_PENDING.get(user); - addDispatchCall("actions.jsp.confirmcancelactions"); - setRequestPathInfo("/schedule/PendingActionsDeleteConfirmSubmit"); - actionPerform(); verifyActionMessage("message.actionsCancelled"); }
+ } diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsSetupActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsSetupActionTest.java index 07e7bd3..d003de6 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsSetupActionTest.java +++ b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/PendingActionsSetupActionTest.java @@ -14,15 +14,66 @@ */ package com.redhat.rhn.frontend.action.schedule.test;
-import com.redhat.rhn.frontend.action.schedule.PendingActionsSetupAction; +import com.redhat.rhn.domain.action.Action; +import com.redhat.rhn.domain.action.ActionFactory; +import com.redhat.rhn.domain.action.server.ServerAction; +import com.redhat.rhn.domain.action.test.ActionFactoryTest; +import com.redhat.rhn.domain.rhnset.RhnSet; +import com.redhat.rhn.domain.server.Server; +import com.redhat.rhn.domain.server.test.ServerFactoryTest; +import com.redhat.rhn.frontend.struts.RhnAction; +import com.redhat.rhn.manager.rhnset.RhnSetDecl; +import com.redhat.rhn.manager.rhnset.RhnSetManager; +import com.redhat.rhn.testing.RhnMockStrutsTestCase; +import com.redhat.rhn.testing.TestUtils;
/** * PendingActionsSetupActionTest * @version $Rev$ */ -public class PendingActionsSetupActionTest extends ScheduledActionSetupActionTestCase { +public class PendingActionsSetupActionTest extends RhnMockStrutsTestCase { + + + + public void setUp() throws Exception { + super.setUp(); + setRequestPathInfo("/schedule/PendingActions"); + } + + +
public void testPerformExecute() throws Exception { - testPerformExecute(new PendingActionsSetupAction()); + + + actionPerform(); + verifyForwardPath("/WEB-INF/pages/schedule/pendingactions.jsp"); + Object test = request.getAttribute("dataset"); + assertNotNull(test); + } + + public void testPerformSubmit() throws Exception { + + + Server server = ServerFactoryTest.createTestServer(user); + + Action act = ActionFactoryTest.createAction(user, ActionFactory.TYPE_ERRATA); + ServerAction sAction = ActionFactoryTest.createServerAction(server, act); + sAction.setStatus(ActionFactory.STATUS_QUEUED); + TestUtils.saveAndFlush(sAction); + + + RhnSet set = RhnSetDecl.ACTIONS_PENDING.get(user); + set.addElement(act.getId()); + RhnSetManager.store(set); + + request.addParameter(RhnAction.SUBMITTED, "true"); + request.addParameter("dispatch", "Cancel Actions"); + actionPerform(); + verifyForwardPath("/schedule/PendingActionsDeleteConfirm.do"); + + + } + } diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ScheduledActionActionTestCase.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ScheduledActionActionTestCase.java deleted file mode 100644 index 6ad88a9..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ScheduledActionActionTestCase.java +++ /dev/null @@ -1,120 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.schedule.test; - -import com.redhat.rhn.domain.action.Action; -import com.redhat.rhn.domain.action.ActionFactory; -import com.redhat.rhn.domain.action.test.ActionFactoryTest; -import com.redhat.rhn.domain.rhnset.RhnSet; -import com.redhat.rhn.domain.rhnset.RhnSetFactory; -import com.redhat.rhn.domain.rhnset.SetCleanup; -import com.redhat.rhn.domain.role.RoleFactory; -import com.redhat.rhn.domain.server.Server; -import com.redhat.rhn.domain.server.test.ServerFactoryTest; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.action.schedule.ScheduledActionAction; -import com.redhat.rhn.frontend.struts.RequestContext; -import com.redhat.rhn.testing.ActionHelper; -import com.redhat.rhn.testing.RhnMockDynaActionForm; -import com.redhat.rhn.testing.RhnMockHttpServletRequest; -import com.redhat.rhn.testing.RhnMockHttpServletResponse; -import com.redhat.rhn.testing.TestUtils; - -import org.apache.struts.Globals; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.ActionMapping; -import org.apache.struts.action.ActionMessage; -import org.apache.struts.action.ActionMessages; -import org.jmock.Mock; -import org.jmock.cglib.MockObjectTestCase; - -/** - * ScheduledActionActionTestCase - * @version $Rev$ - */ -public abstract class ScheduledActionActionTestCase extends MockObjectTestCase { - - public void testArchive() throws Exception { - ScheduledActionAction action = getAction(); - RhnMockHttpServletRequest request = TestUtils.getRequestWithSessionAndUser(); - RequestContext requestContext = new RequestContext(request); - Server s = ServerFactoryTest.createTestServer(requestContext.getLoggedInUser()); - - request.setupAddParameter("items_selected", s.getId().toString()); - request.setupAddParameter("items_on_page", (String)null); - addPagination(request); - - RhnMockHttpServletResponse response = new RhnMockHttpServletResponse(); - RhnMockDynaActionForm form = new RhnMockDynaActionForm(); - - ActionForward forward = new ActionForward("default", "path", false); - Mock mapping = mock(ActionMapping.class, "mapping"); - mapping.expects(once()) - .method("findForward") - .with(eq("default")) - .will(returnValue(forward)); - - ActionForward same = action.archiveAction((ActionMapping)mapping.proxy(), form, - request, response); - assertEquals("path?lower=10", same.getPath()); - mapping.verify(); - ActionMessages msgs = (ActionMessages) request.getSession() - .getAttribute(Globals.MESSAGE_KEY); - ActionMessage msg = (ActionMessage) msgs.get(ActionMessages.GLOBAL_MESSAGE).next(); - assertEquals("message.actionArchived", msg.getKey()); - } - - private void addPagination(RhnMockHttpServletRequest r) { - r.setupAddParameter("First", "someValue"); - r.setupAddParameter("first_lower", "10"); - r.setupAddParameter("Prev", "0"); - r.setupAddParameter("prev_lower", ""); - r.setupAddParameter("Next", "20"); - r.setupAddParameter("next_lower", ""); - r.setupAddParameter("Last", ""); - r.setupAddParameter("last_lower", "20"); - r.setupAddParameter("lower", "10"); - } - - public void testSelectAll() throws Exception { - ScheduledActionAction action = getAction(); - ActionHelper ah = new ActionHelper(); - ah.setUpAction(action); - ah.setupProcessPagination(); - - User user = ah.getUser(); - user.addRole(RoleFactory.ORG_ADMIN); - - for (int i = 0; i < 4; i++) { - Action a = ActionFactoryTest.createAction(user, ActionFactory.TYPE_ERRATA); - createServerAction(user, a); - } - - ah.getRequest().setupAddParameter("items_on_page", (String[])null); - ah.getRequest().setupAddParameter("items_selected", (String[])null); - ah.executeAction("selectall"); - - //satellite could already have some actions - RhnSet set = RhnSetFactory.lookupByLabel(user.getId(), getListName(), - SetCleanup.NOOP); - assertTrue(set.size() >= 4); - } - - protected abstract ScheduledActionAction getAction(); - - protected abstract void createServerAction(User user, Action action) throws Exception; - - protected abstract String getListName(); -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ScheduledActionSetupActionTestCase.java b/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ScheduledActionSetupActionTestCase.java deleted file mode 100644 index ca705d0..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/schedule/test/ScheduledActionSetupActionTestCase.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.schedule.test; - -import com.redhat.rhn.frontend.action.schedule.ScheduledActionSetupAction; -import com.redhat.rhn.testing.ActionHelper; -import com.redhat.rhn.testing.RhnBaseTestCase; - -/** - * ScheduledActionSetupActionTestCase - * @version $Rev$ - */ -public abstract class ScheduledActionSetupActionTestCase extends RhnBaseTestCase { - - protected void testPerformExecute(ScheduledActionSetupAction action) throws Exception { - ActionHelper sah = new ActionHelper(); - sah.setUpAction(action); - sah.getRequest().setupAddParameter("newset", (String)null); - sah.setupClampListBounds(); - sah.getRequest().setupAddParameter("returnvisit", (String) null); - sah.executeAction(); - - assertNotNull(sah.getRequest().getAttribute("pageList")); - assertNotNull(sah.getRequest().getAttribute("user")); - assertNotNull(sah.getRequest().getAttribute("set")); - } - -} diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml index ea45ad8..a661dfe 100644 --- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml +++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml @@ -2782,7 +2782,7 @@ button below, and <b>will be unable to log back in</b>.</source> </context-group> </trans-unit> <trans-unit id="actions.jsp.earliest"> -<source>Earliest</source> +<source>Scheduled Time</source> <context-group name="ctx"> <context context-type="sourcefile">/rhn/schedule/CompletedActions</context> <context context-type="sourcefile">/rhn/schedule/FailedActions</context> @@ -2807,7 +2807,7 @@ button below, and <b>will be unable to log back in</b>.</source> </context-group> </trans-unit> <trans-unit id="actions.jsp.inprogress"> -<source>In Progress</source> +<source>Pending</source> <context-group name="ctx"> <context context-type="sourcefile">/rhn/schedule/CompletedActions</context> <context context-type="sourcefile">/rhn/schedule/FailedActions</context> diff --git a/java/code/src/com/redhat/rhn/frontend/taglibs/list/SelectableColumnTag.java b/java/code/src/com/redhat/rhn/frontend/taglibs/list/SelectableColumnTag.java index 3c97a1e..206686d 100644 --- a/java/code/src/com/redhat/rhn/frontend/taglibs/list/SelectableColumnTag.java +++ b/java/code/src/com/redhat/rhn/frontend/taglibs/list/SelectableColumnTag.java @@ -35,7 +35,7 @@ public class SelectableColumnTag extends TagSupport { private String selectExpr; private String disabledExpr; private String styleClass; - private String width = "20px"; + private String width; private String headerStyle; private String headerKey; private String listName; @@ -284,6 +284,10 @@ public class SelectableColumnTag extends TagSupport { ListTagUtil.write(pageContext, width); ListTagUtil.write(pageContext, """); } + else { + ListTagUtil.write(pageContext, " class="thin-column list-checkbox-header" "); + + } ListTagUtil.write(pageContext, ">"); } } diff --git a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java index 9c0aecc..31d122a 100644 --- a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java +++ b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java @@ -24,7 +24,6 @@ import com.redhat.rhn.frontend.struts.RequestContext; * the data to show on the page. * <p/> * See the Spacewalk wiki for more information on how to work with ListTag 3.0. - * * @version $Rev$ */ public interface Listable { diff --git a/java/code/src/com/redhat/rhn/manager/action/ActionManager.java b/java/code/src/com/redhat/rhn/manager/action/ActionManager.java index f6ce792..f8cee6f 100644 --- a/java/code/src/com/redhat/rhn/manager/action/ActionManager.java +++ b/java/code/src/com/redhat/rhn/manager/action/ActionManager.java @@ -721,6 +721,7 @@ public class ActionManager extends BaseManager { } DataResult dr = m.execute(params); dr.setTotalSize(dr.size()); + dr.setElaborationParams(params); return dr; }
diff --git a/java/code/webapp/WEB-INF/pages/schedule/archivedactions.jsp b/java/code/webapp/WEB-INF/pages/schedule/archivedactions.jsp index 25fc74e..067e241 100644 --- a/java/code/webapp/WEB-INF/pages/schedule/archivedactions.jsp +++ b/java/code/webapp/WEB-INF/pages/schedule/archivedactions.jsp @@ -2,6 +2,8 @@ <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %> +<%@ taglib uri="http://rhn.redhat.com/tags/list" prefix="rl" %> +
html:xhtml/ <html> @@ -19,44 +21,93 @@ </p> </div>
-<form method="post" name="rhn_list" action="/rhn/schedule/ArchivedActionsSubmit.do"> - -<rhn:list pageList="${requestScope.pageList}" - noDataText="archivedactions.jsp.nogroups"> - - rhn:listdisplay - <rhn:column header="actions.jsp.action" - url="ActionDetails.do?aid=${current.id}"> - ${current.actionName} - </rhn:column> - <rhn:column header="actions.jsp.earliest"> - ${current.earliest} - </rhn:column> - <rhn:column header="actions.jsp.succeeded" - style="text-align: center;" - url="CompletedSystems.do?aid=${current.id}" - renderUrl="${current.completed != 0}"> - ${current.completed} - </rhn:column> - <rhn:column header="actions.jsp.failed" - style="text-align: center;" - url="FailedSystems.do?aid=${current.id}" - renderUrl="${current.failed != 0}"> - ${current.failed} - </rhn:column> - <rhn:column header="actions.jsp.inprogress" - style="text-align: center;" - url="InProgressSystems.do?aid=${current.id}" - renderUrl="${current.inProgress != 0}"> - ${current.inProgress} - </rhn:column> - <rhn:column header="actions.jsp.total" style="text-align: center;"> - ${current.tally} - </rhn:column> - </rhn:listdisplay> + <br/> + + <rl:listset name="failedList"> + <rl:list emptykey="archivedactions.jsp.nogroups" styleclass="list"> + + + <rl:decorator name="PageSizeDecorator"/> + <rl:decorator name="ElaborationDecorator"/> + + + + + + <rl:column sortable="true" + bound="false" + headerkey="actions.jsp.action" + sortattr="actionName" + defaultsort="asc" + styleclass="first-column list-fat-column-50" + filterattr="actionName"> + <a href="/rhn/schedule/CompletedSystems.do?aid=${current.id}">${current.actionName}</a> + </rl:column> + + + <rl:column sortable="true" + bound="false" + headerkey="actions.jsp.earliest" + sortattr="earliest" > + <c:out value="${current.earliest}" /> + </rl:column> + + + <rl:column sortable="false" + bound="false" + headerkey="actions.jsp.succeeded" + > + <c:if test="${current.completed != 0}"> + <a href="/rhn/schedule/CompletedSystems.do?aid=${current.id}">${current.completed}</a> + </c:if> + <c:if test="${current.completed == 0}"> + ${current.completed} + </c:if> + </rl:column> + + + <rl:column sortable="false" + bound="false" + headerkey="actions.jsp.failed" + > + <c:if test="${current.failed != 0}"> + <a href="/rhn/schedule/FailedSystems.do?aid=${current.id}">${current.failed}</a> + </c:if> + <c:if test="${current.failed == 0}"> + ${current.failed} + </c:if> + </rl:column> + + + + <rl:column sortable="false" + bound="false" + headerkey="actions.jsp.inprogress" + > + <c:if test="${current.inProgress != 0}"> + <a href="/rhn/schedule/InProgressSystems.do?aid=${current.id}">${current.inProgress}</a> + </c:if> + <c:if test="${current.inProgress == 0}"> + ${current.inProgress} + </c:if> + </rl:column> + + + <rl:column sortable="false" + bound="false" + headerkey="actions.jsp.total" + styleclass="last-column"> + ${current.tally} + </rl:column> + + + + + </rl:list> + rhn:submitted/ + </rl:listset> + +
-</rhn:list> - -</form> </body> </html> diff --git a/java/code/webapp/WEB-INF/pages/schedule/completedactions.jsp b/java/code/webapp/WEB-INF/pages/schedule/completedactions.jsp index 59261b1..b32efd7 100644 --- a/java/code/webapp/WEB-INF/pages/schedule/completedactions.jsp +++ b/java/code/webapp/WEB-INF/pages/schedule/completedactions.jsp @@ -2,6 +2,8 @@ <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %> +<%@ taglib uri="http://rhn.redhat.com/tags/list" prefix="rl" %> +
html:xhtml/ <html> @@ -23,15 +25,23 @@ </p> </div>
-<form method="post" name="rhn_list" action="/rhn/schedule/CompletedActionsSubmit.do"> + <br/> + + <rl:listset name="failedList"> + <rl:list emptykey="completedactions.jsp.nogroups" styleclass="list"> + + + <%@ include file="/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf" %> +
-<rhn:list pageList="${requestScope.pageList}" - noDataText="completedactions.jsp.nogroups"> - - <%@ include file="/WEB-INF/pages/common/fragments/scheduledactions/listdisplay.jspf" %> - -</rhn:list> + </rl:list> + rhn:submitted/ + <div align="right"> + <input type="submit" + name="dispatch" + value='<bean:message key="actions.jsp.archiveactions"/>'/> + </div> + </rl:listset>
-</form> -</body> + </body> </html> diff --git a/java/code/webapp/WEB-INF/pages/schedule/failedactions.jsp b/java/code/webapp/WEB-INF/pages/schedule/failedactions.jsp index f1946a2..f3ac29d 100644 --- a/java/code/webapp/WEB-INF/pages/schedule/failedactions.jsp +++ b/java/code/webapp/WEB-INF/pages/schedule/failedactions.jsp @@ -2,11 +2,15 @@ <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %> +<%@ taglib uri="http://rhn.redhat.com/tags/list" prefix="rl" %> +
html:xhtml/ <html> <body>
+ + <html:messages id="message" message="true"> rhn:messages<c:out escapeXml="false" value="${message}" /></rhn:messages> </html:messages> @@ -23,15 +27,26 @@ </p> </div>
-<form method="post" name="rhn_list" action="/rhn/schedule/FailedActionsSubmit.do"> + <br/> + + + <rl:listset name="failedList"> + <rl:list emptykey="failedactions.jsp.nogroups" styleclass="list"> + + + <%@ include file="/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf" %> + + + </rl:list> + rhn:submitted/ + <div align="right"> + <input type="submit" + name="dispatch" + value='<bean:message key="actions.jsp.archiveactions"/>'/> + </div> + </rl:listset> +
-<rhn:list pageList="${requestScope.pageList}" - noDataText="failedactions.jsp.nogroups"> - - <%@ include file="/WEB-INF/pages/common/fragments/scheduledactions/listdisplay.jspf" %> - -</rhn:list> -</form> </body> </html> diff --git a/java/code/webapp/WEB-INF/pages/schedule/pendingactions.jsp b/java/code/webapp/WEB-INF/pages/schedule/pendingactions.jsp index 7a8c206..b7221b3 100644 --- a/java/code/webapp/WEB-INF/pages/schedule/pendingactions.jsp +++ b/java/code/webapp/WEB-INF/pages/schedule/pendingactions.jsp @@ -2,6 +2,7 @@ <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %> +<%@ taglib uri="http://rhn.redhat.com/tags/list" prefix="rl" %>
html:xhtml/ <html> @@ -23,44 +24,26 @@ </p> </div>
-<form method="post" name="rhn_list" action="/rhn/schedule/PendingActionsSubmit.do"> +<br/>
-<rhn:list pageList="${requestScope.pageList}" - noDataText="pendingactions.jsp.nogroups"> + <rl:listset name="pendingList">
- <rhn:listdisplay set="${requestScope.set}" button="actions.jsp.cancelactions"> - <rhn:set value="${current.id}" disabled="${not current.selectable}"/> - <rhn:column header="actions.jsp.action" - url="ActionDetails.do?aid=${current.id}"> - ${current.actionName} - </rhn:column> - <rhn:column header="actions.jsp.earliest" nowrap="true"> - ${current.earliest} - </rhn:column> - <rhn:column header="actions.jsp.succeeded" - style="text-align: center;" - url="CompletedSystems.do?aid=${current.id}" - renderUrl="${current.completed != 0}"> - ${current.completed} - </rhn:column> - <rhn:column header="actions.jsp.failed" - style="text-align: center;" - url="FailedSystems.do?aid=${current.id}" - renderUrl="${current.failed != 0}"> - ${current.failed} - </rhn:column> - <rhn:column header="actions.jsp.inprogress" - style="text-align: center;" - url="InProgressSystems.do?aid=${current.id}" - renderUrl="${current.inProgress != 0}"> - ${current.inProgress} - </rhn:column> - <rhn:column header="actions.jsp.total" style="text-align: center;"> - ${current.tally} - </rhn:column> - </rhn:listdisplay> -</rhn:list> + <rl:list emptykey="pendingactions.jsp.nogroups" styleclass="list"> + + + <%@ include file="/WEB-INF/pages/common/fragments/scheduledactions/listdisplay-new.jspf" %> + + + </rl:list> + rhn:submitted/ + <div align="right"> + <input type="submit" + name="dispatch" + value='<bean:message key="actions.jsp.cancelactions"/>'/> + </div> + </rl:listset> -</form> + + </body> </html> diff --git a/java/code/webapp/WEB-INF/pages/schedule/pendingactionsconfirm.jsp b/java/code/webapp/WEB-INF/pages/schedule/pendingactionsconfirm.jsp index 69c00c2..4508fa5 100644 --- a/java/code/webapp/WEB-INF/pages/schedule/pendingactionsconfirm.jsp +++ b/java/code/webapp/WEB-INF/pages/schedule/pendingactionsconfirm.jsp @@ -2,6 +2,8 @@ <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %> +<%@ taglib uri="http://rhn.redhat.com/tags/list" prefix="rl" %> +
html:xhtml/ <html> @@ -22,43 +24,92 @@ <bean:message key="pendingactions.jsp.confirm_cancel_actions_summary"/> </p> </div> + + <br> +
-<form method="post" name="rhn_list" action="/rhn/schedule/PendingActionsDeleteConfirmSubmit.do"> - -<rhn:list pageList="${requestScope.pageList}" - noDataText="pendingactions.jsp.nogroups"> - - <rhn:listdisplay set="${requestScope.set}" button="actions.jsp.confirmcancelactions"> - <rhn:column header="actions.jsp.action" - url="ActionDetails.do?aid=${current.id}"> - ${current.actionName} - </rhn:column> - <rhn:column header="actions.jsp.earliest" nowrap="true"> - ${current.earliest} - </rhn:column> - <rhn:column header="actions.jsp.succeeded" - style="text-align: center;" - url="CompletedSystems.do?aid=${current.id}" - renderUrl="${current.completed != 0}"> - ${current.completed} - </rhn:column> - <rhn:column header="actions.jsp.failed" - style="text-align: center;" - url="FailedSystems.do?aid=${current.id}" - renderUrl="${current.failed != 0}"> - ${current.failed} - </rhn:column> - <rhn:column header="actions.jsp.inprogress" - style="text-align: center;" - url="InProgressSystems.do?aid=${current.id}" - renderUrl="${current.inProgress != 0}"> - ${current.inProgress} - </rhn:column> - <rhn:column header="actions.jsp.total" style="text-align: center;"> - ${current.tally} - </rhn:column> - </rhn:listdisplay> -</rhn:list> + <rl:listset name="pendingList"> + + <rl:list emptykey="pendingactions.jsp.nogroups" styleclass="list"> + + + <rl:column sortable="true" + bound="false" + headerkey="actions.jsp.action" + sortattr="actionName" + defaultsort="asc" + filterattr="actionName" + styleclass="first-column"> + <a href="/rhn/schedule/CompletedSystems.do?aid=${current.id}">${current.actionName}</a> + </rl:column> + + + <rl:column sortable="true" + bound="false" + headerkey="actions.jsp.earliest" + sortattr="earliest" > + <c:out value="${current.earliest}" /> + </rl:column> + + + <rl:column sortable="false" + bound="false" + headerkey="actions.jsp.succeeded" + > + <c:if test="${current.completed != 0}"> + <a href="/rhn/schedule/CompletedSystems.do?aid=${current.id}">${current.completed}</a> + </c:if> + <c:if test="${current.completed == 0}"> + ${current.completed} + </c:if> + </rl:column> + + + <rl:column sortable="false" + bound="false" + headerkey="actions.jsp.failed" + > + <c:if test="${current.failed != 0}"> + <a href="/rhn/schedule/FailedSystems.do?aid=${current.id}">${current.failed}</a> + </c:if> + <c:if test="${current.failed == 0}"> + ${current.failed} + </c:if> + </rl:column> + + + + <rl:column sortable="false" + bound="false" + headerkey="actions.jsp.inprogress" + > + <c:if test="${current.inProgress != 0}"> + <a href="/rhn/schedule/InProgressSystems.do?aid=${current.id}">${current.inProgress}</a> + </c:if> + <c:if test="${current.inProgress == 0}"> + ${current.inProgress} + </c:if> + </rl:column> + + + <rl:column sortable="false" + bound="false" + headerkey="actions.jsp.total" + styleclass="last-column"> + ${current.tally} + </rl:column> + + + </rl:list> + rhn:submitted/ + <div align="right"> + <input type="submit" + name="dispatch" + value='<bean:message key="actions.jsp.confirmcancelactions"/>'/> + </div> + </rl:listset> + +
diff --git a/java/code/webapp/WEB-INF/struts-config.xml b/java/code/webapp/WEB-INF/struts-config.xml index eb5f5ad..243e45d 100644 --- a/java/code/webapp/WEB-INF/struts-config.xml +++ b/java/code/webapp/WEB-INF/struts-config.xml @@ -1565,36 +1565,20 @@ type="com.redhat.rhn.frontend.action.schedule.PendingActionsSetupAction"> <forward name="default" path="/WEB-INF/pages/schedule/pendingactions.jsp" /> + <forward name="confirm" + path="/schedule/PendingActionsDeleteConfirm.do" redirect="true" /> </action>
- <action path="/schedule/PendingActionsSubmit" - scope="request" - input="/WEB-INF/pages/schedule/pendingactions.jsp" - type="com.redhat.rhn.frontend.action.schedule.PendingActionsAction" - parameter="dispatch" - className="com.redhat.rhn.frontend.struts.RhnActionMapping"> - <forward name="default" - path="/schedule/PendingActions.do" redirect="true"/> - <forward name="delete" - path="/schedule/PendingActionsDeleteConfirm.do" redirect="true"/> - </action>
<action path="/schedule/PendingActionsDeleteConfirm" scope="request" - input="/WEB-INF/pages/schedule/pendingactions.jsp" + input="/WEB-INF/pages/schedule/pendingactionsconfirm.jsp" type="com.redhat.rhn.frontend.action.schedule.PendingActionsDeleteConfirmAction"> <forward name="default" path="/WEB-INF/pages/schedule/pendingactionsconfirm.jsp" /> + <forward name="success" path="/schedule/PendingActions.do" redirect="true"/> </action>
- <action path="/schedule/PendingActionsDeleteConfirmSubmit" - scope="request" - input="/WEB-INF/pages/schedule/pendingactionsconfirm.jsp" - parameter="dispatch" - type="com.redhat.rhn.frontend.action.schedule.PendingActionsDeleteConfirmSubmitAction"> - <forward name="default" - path="/schedule/PendingActions.do" /> - </action>
<action path="/schedule/FailedActions" scope="request" @@ -1602,34 +1586,19 @@ type="com.redhat.rhn.frontend.action.schedule.FailedActionsSetupAction"> <forward name="default" path="/WEB-INF/pages/schedule/failedactions.jsp" /> + <forward name="archive" path="/schedule/FailedActions.do" redirect="true"/> </action>
- <action path="/schedule/FailedActionsSubmit" - scope="request" - input="/WEB-INF/pages/schedule/failedactions.jsp" - type="com.redhat.rhn.frontend.action.schedule.FailedActionsAction" - parameter="dispatch"> - <forward name="default" - path="/schedule/FailedActions.do" redirect="true"/> - </action> - <action path="/schedule/CompletedActions" scope="request" input="/WEB-INF/pages/schedule/completedactions.jsp" type="com.redhat.rhn.frontend.action.schedule.CompletedActionsSetupAction"> <forward name="default" path="/WEB-INF/pages/schedule/completedactions.jsp" /> + <forward name="archive" path="/schedule/CompletedActions.do" redirect="true"/> </action>
- <action path="/schedule/CompletedActionsSubmit" - scope="request" - input="/WEB-INF/pages/schedule/completedactions.jsp" - type="com.redhat.rhn.frontend.action.schedule.CompletedActionsAction" - parameter="dispatch"> - <forward name="default" - path="/schedule/CompletedActions.do" redirect="true"/> - </action> - + <action path="/schedule/ArchivedActions" scope="request" input="/WEB-INF/pages/schedule/archivedactions.jsp" @@ -1638,13 +1607,6 @@ path="/WEB-INF/pages/schedule/archivedactions.jsp" /> </action>
- <action path="/schedule/ArchivedActionsSubmit" - scope="request" - input="/WEB-INF/pages/schedule/archivedactions.jsp" - type="com.redhat.rhn.frontend.action.schedule.ArchivedActionsAction"> - <forward name="default" - path="/schedule/ArchivedActions.do" redirect="true"/> - </action>
<action path="/schedule/PackageList" scope="request"
commit 20ab0e7a99c6d365adeb7a2b91bdfd04ae280d61 Author: Justin Sherrill jsherril@redhat.com Date: Mon Mar 30 19:04:00 2009 -0400
144325 - mistakenly forgot to include this jspf, in the previous commit
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/probes/probe-state-column-new.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/probes/probe-state-column-new.jspf new file mode 100644 index 0000000..c63e68d --- /dev/null +++ b/java/code/webapp/WEB-INF/pages/common/fragments/probes/probe-state-column-new.jspf @@ -0,0 +1,28 @@ +<%-- this is the same as probe-state-column.jspf, but is used for the new list tag --%> + + <rl:column sortable="false" + bound="false" + headerkey="probedetails.jsp.state" + headerclass="thin-column" + styleclass="first-column"> + <c:if test="${current.stateString == 'UNKNOWN'}"> + <img src="/img/rhn-mon-unknown.gif" title="<bean:message key='monitoring.status.unknown'/>" + alt="<bean:message key='monitoring.status.unknown'/>"/> + </c:if> + <c:if test="${current.stateString == 'OK'}"> + <img src="/img/rhn-mon-ok.gif" title="<bean:message key='monitoring.status.ok'/>" + alt="<bean:message key='monitoring.status.ok'/>"/> + </c:if> + <c:if test="${current.stateString == 'WARNING'}"> + <img src="/img/rhn-mon-warning.gif" title="<bean:message key='monitoring.status.warn'/>" + alt="<bean:message key='monitoring.status.warn'/>"/> + </c:if> + <c:if test="${current.stateString == 'PENDING'}"> + <img src="/img/rhn-mon-pending.gif" title="<bean:message key='monitoring.status.pending'/>" + alt="<bean:message key='monitoring.status.pending'/>"/> + </c:if> + <c:if test="${current.stateString == 'CRITICAL'}"> + <img src="/img/rhn-mon-down.gif" title="<bean:message key='monitoring.status.critical'/>" + alt="<bean:message key='monitoring.status.critical'/>"/> + </c:if> + </rl:column>
commit e58121cbd40d047700e8875714588215ed0b8c1e Author: Mike McCune mmccune@gmail.com Date: Mon Mar 30 15:29:18 2009 -0700
Automatic commit of package [spacewalk-java] release [0.5.43-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec index a6423ce..37a3bf9 100644 --- a/java/spacewalk-java.spec +++ b/java/spacewalk-java.spec @@ -10,7 +10,7 @@ Name: spacewalk-java Summary: Spacewalk Java site packages Group: Applications/Internet License: GPLv2 -Version: 0.5.42 +Version: 0.5.43 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -235,7 +235,8 @@ fi %attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog -* Mon Mar 30 2009 Mike McCune mmccune@gmail.com 0.5.42-1 +* Mon Mar 30 2009 Mike McCune mmccune@gmail.com 0.5.43-1 +- 472595 - ported query forgot to check child channels - 144325 - converting system probe list to the new list tag, featuring all the bells and whistles the new list tag has to offer - 492478 - modifying the system applicable errata page so that you can filter on the diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java index 29807a7..f6db4d9 100644 --- a/rel-eng/packages/spacewalk-java +++ b/rel-eng/packages/spacewalk-java @@ -1 +1 @@ -0.5.42-1 java/ +0.5.43-1 java/
commit 862a56d78734d05e93fdc2d9eafaf3b36ead96ed Author: Mike McCune mmccune@gmail.com Date: Mon Mar 30 15:25:33 2009 -0700
472595 - ported query forgot to check child channels
diff --git a/java/code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml b/java/code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml index 3a53ab8..c6803d5 100644 --- a/java/code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml +++ b/java/code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml @@ -291,8 +291,10 @@ PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" FROM rhnPackage {p} left join rhnSolarisPatchSet P_2_ on p.id = P_2_.package_id left join rhnSolarisPatch P_1_ on p.id = P_1_.package_id, - rhnChannelPackage CP - WHERE CP.channel_id = :channel_id + rhnChannelPackage CP, + rhnChannel C + WHERE (C.id = :channel_id OR C.parent_channel = :channel_id) + AND (CP.channel_id = C.id OR CP.channel_id = C.parent_channel) AND CP.package_id = P.id AND P.path LIKE :pathlike ]]> diff --git a/java/code/src/com/redhat/rhn/domain/channel/test/ChannelFactoryTest.java b/java/code/src/com/redhat/rhn/domain/channel/test/ChannelFactoryTest.java index 70a94d8..dca4ede 100644 --- a/java/code/src/com/redhat/rhn/domain/channel/test/ChannelFactoryTest.java +++ b/java/code/src/com/redhat/rhn/domain/channel/test/ChannelFactoryTest.java @@ -362,5 +362,20 @@ public class ChannelFactoryTest extends RhnBaseTestCase { fileName); assertNotNull(lookedUp); assertEquals(p.getId(), lookedUp.getId()); + + // Test in child channel. + Channel child = ChannelTestUtils.createChildChannel(user, channel); + Package cp = PackageManagerTest.addPackageToChannel("some-package-child", child); + String fileNameChild = "some-package-child-2.13.1-6.fc9.x86_64.rpm"; + cp.setPath("redhat/1/c7d/some-package-child/2.13.1-6.fc9/" + + "x86_64/c7dd5e9b6975bc7f80f2f4657260af53/" + + fileNameChild); + + Package lookedUpChild = ChannelFactory.lookupPackageByFilename(channel, + fileNameChild); + assertNotNull(lookedUpChild); + assertEquals(cp.getId(), lookedUpChild.getId()); + + } }
commit 759e33b2164c91f3cbc7e7196e53f4671c23e407 Author: Dennis Gilmore dennis@ausil.us Date: Mon Mar 30 15:12:48 2009 -0500
add sign_unsigned.py to sign our packages
diff --git a/rel-eng/bin/sign_unsigned.py b/rel-eng/bin/sign_unsigned.py new file mode 100755 index 0000000..5da2af1 --- /dev/null +++ b/rel-eng/bin/sign_unsigned.py @@ -0,0 +1,739 @@ +#!/usr/bin/python2 + +# copied from fedora releng git +# modified by Dennis Gilmore for spacewalk needs. +# +# Copyright (c) 2009 Red Hat + +import base64 +import koji +import md5 +import os +import os.path +import shutil +import sys +import tempfile +import time +import optparse +import inspect +import getpass + +# AbstractTool class +# parent for all classes, just to define the options only once +# +# Copyright (c) 2006 Red Hat +# +# Authors: +# Daniel Mach dmach@redhat.com + +class AbstractTool: + def __init__(self): + # create 'options' instance just once + if not hasattr(self, 'options'): + self.options = optparse.Values() + + # fill some default values + self.options.verbose = False + self.options.debug = False + self.options.show_time = False + self.options.retries = 5 + +# CliTool +# Copyright (c) 2006 Red Hat +# +# Authors: +# Daniel Mach dmach@redhat.com + +class CliTool(AbstractTool): + + def __init__(self, opts=None): + AbstractTool.__init__(self) + + # option parser + usage = "%prog [help] <command> [options and arguments] ...]" + self.parser = optparse.OptionParser(usage) + + self.parser.add_option("-v", "--verbose", action="store_true", default=False, + help="Increase verbosity") + self.parser.add_option("-d", "--debug", action="store_true", default=False, + help="Show debug output") + self.parser.add_option("-Y", "--yes", action="store_true", default=False, + help="Answer 'yes' for all [y/N] questions. Use carefully!") + + + + ################################################################################ + # methods for printing to the output + + def print_msg(self, msg): + if self.options.show_time: + print "%s %s" % (time.asctime(), msg) + else: + print msg + + + def print_verbose(self, msg): + if self.options.verbose or self.options.debug: + self.print_msg(msg) + + + def print_debug(self, msg): + if self.options.debug: + self.print_msg("DEBUG: %s" % (msg)) + + + def process_cmd_options(self): + command = 'default' + + # first argument is the command; it cannot begin begin with '-' + if len(sys.argv) > 1 and not sys.argv[1].startswith('-'): + command = sys.argv[1] + del sys.argv[1] + +# # replace '-' by '_' +# command = command.replace('-', '_') + + # add command-specific options + self.run_options(command, self.parser) + + # parse arguments + (opts, args) = self.parser.parse_args() + + opts.options = args + opts.command = command + + # copy opts to self.options + self.options.__dict__.update(opts.__dict__) + + self.print_debug('command is "%s"' % command) + + + + ################################################################################ + # check_admin + # + # checks if the user is admin + # override to make it really work + + def check_admin(self): + return False + + + + ################################################################################ + # userconfirm + # + # gets a yes or no from the user, defaults to No + # this function is originally from yum + + def userconfirm(self): + # skip the question and answer 'yes' automatically + if (self.options.yes): + return True + + while True: + choice = raw_input('Is this ok? [y/N]: ') + choice = choice.lower() + if len(choice) == 0 or choice[0] in ['y', 'n']: + break + + if len(choice) == 0 or choice[0] != 'y': + return False + + return True + + + + ################################################################################ + # getuserpass + # + # prompt user for his password + # if 'defaultPass' is set, no prompt will be done and 'defaultPass' is returned + + def getuserpass(self, prompt=None, defaultPass=None): + if defaultPass != None: + return defaultPass + + if prompt == None: + prompt = "Enter your password: " + + return getpass.getpass(prompt) + + + + ################################################################################ + # default command + # + # default action when no (or wrong) command is going to be executed + # override if you need some custom default action handling + # can be used also to handle scripts with no commands + + def parse_default(self): + pass + + + def help_default(self): + return "Error: command '%s' not found.\n" % self.options.command + \ + "Use 'help' command to get help." + + + def cmd_default(self): + print self.help_default() + sys.exit(1) + + + + ################################################################################ + # help command + # + # just handle everything about help ;) + + def parse_help(self): + self.options.help = self.options.options + + + def help_help(self): + return "Print this help." + + + def cmd_help(self): + self.parser.print_help() + commands = {} + + # help for all commands + result = "\ncommands:\n" + for (key, value) in inspect.getmembers(self): + if key != "cmd_commands" and key != "cmd_default": + if key.startswith('cmd_'): + # admin commands have greater priority, skip the normal ones + if not commands.has_key(key[4:]): + commands[key[4:]] = ' ' + elif key.startswith('admincmd_'): + if not self.check_admin(): + continue + # mark admin commands with '*' + commands[key[9:]] = '*' + + commandlist = commands.keys() + commandlist.sort() + + for cmd in commandlist: + parser = optparse.OptionParser() + self.run_options(cmd, parser) + + # remove 'help' option + parser.remove_option('-h') + + parser.formatter.indent() + parser.formatter.indent() + + # this ugly command splits the option help and joins it excluding the first line (containing 'options:') + result += "\n".join(parser.format_option_help().split('\n')[1:]) + + help = self.run_help(cmd) + usage = self.run_usage(cmd) + result += "%s %-21s %-45s %-30s\n" % (commands[cmd], cmd.replace('_', '-'), usage, help) + print result + + + + ################################################################################ + # run_* commands + + def run_help(self, command): + help = getattr(self, 'help_%s' % command, None) + if callable(help): + return help() + return "" + + + def run_usage(self, command): + help = getattr(self, 'usage_%s' % command, None) + if callable(help): + return help() + return "" + + + def run_options(self, command, optparser): + opts = getattr(self, 'options_%s' % command, None) + if callable(opts): + opts(optparser) + + + def run_parse(self, command): + parse = getattr(self, 'parse_%s' % command, None) + if callable(parse): + parse() + + + def run_command(self, command=None): + if command == None: + command = self.options.command.replace('-', '_') + + # get command-specific options +# self.run_options(command, self.parser) + + # parse arguments for given command + self.run_parse(command) + + + # try to run the ADMIN command (method: admincmd_*) + if self.check_admin(): + cmd = getattr(self, 'admincmd_%s' % command, None) + if callable(cmd): + cmd() + return + + # try to run the command (method: cmd_*) + cmd = getattr(self, 'cmd_%s' % command, None) + if callable(cmd): + cmd() + return + + # try to run the 'default' command + cmd = getattr(self, 'cmd_default') + if callable(cmd): + cmd() + return + + # die if everything fails + self.print_msg("ERROR: cannot run command '%s'!" % command.replace('_', '-')) + self.print_msg("ERROR: There's definitely something wrong with the script, even the default command handler is missing!") + sys.exit(1) + +# KojiTool class +# interface to Koji +# +# Copyright (c) 2007 Red Hat +# +# Authors: +# Daniel Mach dmach@redhat.com +# Jesse Keating jkeating@redhat.com + +class KojiTool(AbstractTool): + def __init__(self,): + AbstractTool.__init__(self) + self.options.debug_xmlrpc = False + self.options.password = None + self.options.user = None + self.options.kojihub = 'http://koji.rhndev.redhat.com/kojihub' + self.options.regex = False + self.options.ignore = [] + + def create_koji_session(self): + # used options: debug, debug_xmlrpc, user, password + self.koji_session = koji.ClientSession(self.options.kojihub, self.options.__dict__) + + def close_koji_session(self): + self.koji_session.logout() + + def get_latest_rpms(self, tag, archlist, pkglist=[None]): + result = [] + for pkg in pkglist: + for arch in archlist: + self.print_debug("Getting latest for %s (%s-%s)" % (tag, pkg, arch)) + rpmlist, buildlist = self.koji_session.getLatestRPMS(tag, package=pkg, arch=arch) + self.print_debug("Got %s rpms (%s builds)" % (len(rpmlist), len(buildlist))) + for rpm in rpmlist: + rpm['tag'] = tag + rpm['filename'] = '%s-%s-%s.%s.rpm' % (rpm['name'], rpm['version'], rpm['release'], rpm['arch']) + rpm['name-arch'] = '%s-%s' % (rpm['name'], rpm['arch']) + result.append(rpm) + return result + + def pattern_match(self, x, patternlist): + ''' + determine if x matches some pattern from patternlist + this function switches between glob and regex matching, depending on options + ''' + + # patternlist must be a list of patterns -> convert single pattern to a list + if not isinstance(patternlist, list): + patternlist = [patternlist] + + for pattern in patternlist: + if self.options.regex: + # use RE matching + if re.compile(pattern).match(x): + return True + else: + # use glob matching + if fnmatch.fnmatchcase(x, pattern): + return True + + # nothing matched + return False + +class SignUnsigned(CliTool, KojiTool): + def __init__(self): + CliTool.__init__(self) + KojiTool.__init__(self) + + self.parser.add_option("--builds", action="store_true") + self.parser.add_option("--exact", action="store_true") + self.parser.add_option("--inherit", action="store_true") + self.parser.add_option("--just-show", action="store_true") # deprecated + self.parser.add_option("--just-write-rpms", action="store_true") + self.parser.add_option("--level") + self.parser.add_option("--server", action="store_true") + self.parser.add_option("--test", action="store_true") + self.parser.add_option("--show-time", action="store_true") + self.parser.add_option("--workdir") + self.parser.add_option("--write-rpms", action="store_true") + self.gpg_keys = {'430A1C35': { 'name': 'spacewalk', + 'description': 'Spacewalk spacewalk-devel@redhat.com', + 'size': 1024 }, + } + self.body_header_tags = ['siggpg', 'sigpgp'] + self.head_header_tags = ['dsaheader', 'rsaheader'] + + + def get_key_name(self, keyid): + return self.gpg_keys[keyid.upper()]['name'] + + def sig_level(self, sigs, level='spacewalk', exact=False): + """Check if signature(s) satisfy required level""" + + orderings = [['spacewalk']] + if not sigs: + return False + sigs = [ x for x in sigs if x ] + if not sigs: + return False + for i in range(0, len(sigs)): + try: + sigs[i] = self.get_key_name(sigs[i]) + except KeyError: + pass + if exact: + valid = [level] + else: + valid = None + for ordering in orderings: + if level in ordering: + valid = ordering[ordering.index(level):] + break + if not valid: + #raise RuntimeError, "could not find level %s" % level + valid = [level] + for lvl in valid: + if lvl.lower() in sigs or lvl.upper() in sigs: + return True + return False + + def find_uncached(self, rpms, level='rawhide'): + """Return the rpms that do not have a cached signature of sufficient level""" + ret = [] + self.print_debug("Reading signature data") + sigdata = [] + self.koji_session.multicall = True + for rinfo in rpms: + self.koji_session.queryRPMSigs(rpm_id=rinfo['id']) + results = self.koji_session.multiCall() + for result in results: + sigdata.extend(result[0]) + sig_idx = {} + #index by rpm and sigkey + self.print_debug("Indexing %d signatures" % len(sigdata)) + for row in sigdata: + sig_idx.setdefault(row['rpm_id'], []).append(row['sigkey']) + i = 0 + for rpminfo in rpms: + i += 1 + self.print_debug("%d/%d: checking %s" % (i, len(rpms), self.rpm_nvra(rpminfo))) + sigs = sig_idx.get(rpminfo['id'], []) + self.print_debug("found sigs: %r" % sigs) + if not self.sig_level(sigs, level=level): + self.print_debug("uncached") + ret.append(rpminfo) + return ret + + def rpm_path(self, rpminfo): + build = rpminfo['build'] + return os.path.join(koji.pathinfo.build(build), koji.pathinfo.rpm(rpminfo)) + + def rpm_nvra(self, rpminfo): + return "%(name)s-%(version)s-%(release)s.%(arch)s" % rpminfo + + def rip_sighdr(self, path): + sigkey = "" + sighdr = koji.rip_rpm_sighdr(path) + rawhdr = koji.RawHeader(sighdr) + sigpkt = rawhdr.get(koji.RPM_SIGTAG_GPG) + if not sigpkt: + sigpkt = rawhdr.get(koji.RPM_SIGTAG_PGP) + if sigpkt: + sigkey = koji.get_sigpacket_key_id(sigpkt) + return sighdr, sigkey + + def write_sigs(self, rpmlist, sigkey): + self.koji_session.multicall = True + signable = False + for rpminfo in rpmlist: + x = os.path.join(koji.pathinfo.build(rpminfo['build']), + koji.pathinfo.signed(rpminfo, sigkey)) + if not os.path.exists(x): + signable = True + if self.options.test: + self.print_msg("Would have written: %s" % x) + continue + self.koji_session.writeSignedRPM(rpminfo, sigkey) + + if signable: + self.print_debug("Writing rpms...") + results = self.koji_session.multiCall() + + for rpm, result in zip(rpmlist, results): + if isinstance(result, dict): + print "Error writing out %s" % self.rpm_nvra(rpm) + + def write_sig(self, rpminfo, sigkey): + x = os.path.join(koji.pathinfo.build(rpminfo['build']), + koji.pathinfo.signed(rpminfo, sigkey)) + if not os.path.exists(x): + if self.options.test: + self.print_msg("Would have written: %s" % x) + return + self.print_debug("Writing %s" % x) + try: + self.koji_session.writeSignedRPM(rpminfo, sigkey) + except koji.KojiError, e: + self.print_msg(e) + + def import_sig(self, rpminfo, sighdr, sigkey): + previous = self.koji_session.queryRPMSigs(rpminfo['id'], sigkey=sigkey) + if previous: + sighash = md5.new(sighdr).hexdigest() + if previous[0]['sighash'] != sighash: + self.print_msg("Warning: signature hash mismatch: %s" % rpminfo) + else: + self.print_msg("Warning: signature already imported: %r" % previous) + elif self.options.test: + self.print_msg("Would have imported signature '%s' from %s" % (sigkey, self.rpm_nvra(rpminfo))) + else: + self.koji_session.addRPMSig(rpminfo['id'], base64.encodestring(sighdr)) + + def import_sigs(self, importdict, sigkey): + self.koji_session.multicall = True + for rpm in importdict.keys(): + if self.options.test: + self.print_msg("Would have imported signature '%s' from %s" % (sigkey, importdict[rpm][2])) + else: + self.koji_session.addRPMSig(rpm, base64.encodestring(importdict[rpm][0])) + + self.koji_session.multiCall() + + def get_key_id(self, keyname): + for id, data in self.gpg_keys.items(): + if keyname.lower() in (data.get('name', ""), data.get('signing_server_id', "")): + return id + + def import_sig_from_files(self, rpminfos, level, workdir): + importdict = {} + # Verify that sigs are correct + for rpm in rpminfos: + src = self.rpm_path(rpm) + fn = "%s.rpm" % self.rpm_nvra(rpm) + path = "%s/%s" % (workdir, fn) + sighdr, sigkey = self.rip_sighdr(path) + if self.get_key_id(level).lower() != sigkey.lower(): + self.print_msg("Error: unexpected signature key [%s], skipping import from %s" % (sigkey, path)) + continue + importdict[rpm['id']] = (sighdr, sigkey.lower(), self.rpm_nvra(rpm)) + self.import_sigs(importdict, self.get_key_id(level).lower()) + + def import_sig_from_file(self, rpminfo, path=None, level=None): + if path is None: + path = self.rpm_path(rpminfo) + sighdr, sigkey = self.rip_sighdr(path) + if level is not None: + #verify that signature is what we expect + if self.get_key_id(level).lower() != sigkey.lower(): + self.print_msg("Error: unexpected signature key [%s], skipping import from %s" % (sigkey, path)) + return + self.import_sig(rpminfo, sighdr, sigkey) + + def try_import(self, rpms, level='rawhide'): + """See if the main copy of the rpm has the signature we need + + If sufficient signature is found, it is imported + Returns the rpms still without needed signature + """ + ret = [] + for rpminfo in rpms: + path = self.rpm_path(rpminfo) + sighdr, sigkey = self.rip_sighdr(path) + self.print_debug("Current sig '%s' for %s" % (sigkey, path)) + if self.sig_level([sigkey], level=level): + #key is sufficient, import it + self.import_sig(rpminfo, sighdr, sigkey) + else: + ret.append(rpminfo) + return ret + + def get_key_id(self, keyname): + for id, data in self.gpg_keys.items(): + if keyname.lower() in (data.get('name', ""), data.get('signing_server_id', "")): + return id + + def get_key_description(self, keyid): + return self.gpg_keys.get(keyid.upper(), {}).get('description') + + def get_signing_command(self, key, paths, server=False): + keyid = self.get_key_id(key) + if server: + ssid = self.gpg_keys[keyid].get('signing_server_id') + if not ssid: + raise RuntimeError, "%s is not set up for the signing server" % key + cmd = "rpm-sign --key=%s %s" % (ssid, ' '.join(paths)) + else: + if self.gpg_keys[keyid]['size'] == 4096: + cmd = """rpm --define '__gpg_sign_cmd %%{__gpg} gpg --force-v3-sigs --digest-algo sha256 --batch --no-verbose --no-armor --passphrase-fd 3 --no-secmem-warning -u "%%{_gpg_name}" -sbo %%{__signature_filename} %%{__plaintext_filename}' --define '_gpg_name %s' --define '_signature gpg' --resign %s""" % (self.get_key_description(keyid), ' '.join(paths)) + else: + cmd = "rpm --define '_gpg_name %s' --define '_signature gpg' --resign %s" % (self.get_key_description(keyid), ' '.join(paths)) + return cmd + + def do_signing(self, pathargs, level): + """Use rpm to sign packages""" + mypaths = list(pathargs) + while len(mypaths): + if self.options.server: + nlen = 25 + else: + nlen = 1000 + cmd = self.get_signing_command(level, mypaths[:nlen], server=self.options.server) + del mypaths[:nlen] + if self.options.test: + self.print_msg("would have run: %s" % cmd) + else: + self.print_debug("Running: %s" % cmd) + # loop in case password is mistyped + while os.system(cmd): + # sleep briefly (give user a chance to ctrl-C) + time.sleep(2) + + def sign_to_cache(self, rpms, level): + """Sign and cache the signatures + + We sign duplicate copies and import the signature headers. The original rpms + remain unchanged. + """ + if not rpms: + self.print_debug("No unsigned rpms") + if not self.options.write_rpms: + return + if self.options.test: + self.print_msg("Would have signed:") + for rpminfo in rpms: + self.print_msg(self.rpm_nvra(rpminfo)) + workdir = tempfile.mkdtemp(prefix='sign_unsigned.', dir=self.options.workdir) + self.print_debug("Using workdir: %s" % workdir) + self.print_debug("Copying packages") + pkglist = [] + for rpminfo in rpms: + src = self.rpm_path(rpminfo) + fn = "%s.rpm" % self.rpm_nvra(rpminfo) + dst = "%s/%s" % (workdir, fn) + if not self.options.test: + shutil.copyfile(src, dst) + pkglist.append(dst) + self.print_debug("Signing copies") + self.do_signing(pkglist, level) + if self.options.test: + return + self.print_msg("Importing signatures") + self.import_sig_from_files(rpms, level, workdir) + if self.options.write_rpms: + self.print_msg("Writing RPMs") + self.write_sigs(rpms, self.get_key_id(level).lower()) + #clean up + for fn in os.listdir(workdir): + path = "%s/%s" % (workdir,fn) + os.unlink(path) + os.rmdir(workdir) + + def get_build_rpms(self, builds): + ret = [] + self.koji_session.multicall = True + for b in builds: + self.koji_session.getBuild(b, strict=True) + binfos = self.koji_session.multiCall() + self.koji_session.multicall = True + for binfo in binfos: + self.koji_session.listRPMs(buildID=binfo[0]['id']) + results = self.koji_session.multiCall() + for binfo, rpms in zip(binfos, results): + for r in rpms[0]: + r['build'] = binfo[0] + ret.extend(rpms[0]) + return ret + + def get_koji_rpms(self, tag, pkg=None): + rpms, builds = self.koji_session.listTaggedRPMS(tag, latest=True, inherit=self.options.inherit, package=pkg) + build_idx = {} + for build in builds: + build['name'] = build['package_name'] + build_idx[build['id']] = build + for rpminfo in rpms: + rpminfo['build'] = build_idx[rpminfo['build_id']] + return rpms + + def is_fedora(self, tag): + if tag.startswith('dist-fc') or tag.startswith('f'): + return True + return False + + def tweak_options(self): + if self.options.just_show: + self.options.test = True + if self.options.builds: + self.options.builds = self.options.options + if not self.options.level: + self.parser.error("--level required unless a tag is specified") + else: + args = self.options.options + if len(args) < 1 or len(args) > 2: + self.parser.error("incorrect number of arguments") + if len(args) == 2: + self.options.pkg = args[1] + else: + self.options.pkg = None + self.options.tag = args[0] + if not self.options.level: + if self.is_fedora(self.options.tag): + self.options.level = 'fedora-gold' + else: + self.options.level = 'gold' + + def cmd_default(self): + self.tweak_options() + clientcert = '/etc/pki/pkgsigner/pkgsigner.pem' + clientca = '/etc/pki/pkgsigner/spacewalk-upload-ca.cert' + serverca = '/etc/pki/pkgsigner/spacewalk-upload-ca.cert' + self.koji_session.ssl_login(clientcert, clientca, serverca) # NEEDSWORK + self.print_msg("Getting rpm list from koji") + if self.options.builds: + rpms = self.get_build_rpms(self.options.builds) + else: + rpms = self.get_koji_rpms(self.options.tag, self.options.pkg) + rpms.sort(lambda a,b: cmp(a['name'], b['name'])) + self.print_debug("got %d rpms" % len(rpms)) + if self.options.just_write_rpms: + sigkey = self.get_key_id(self.options.level).lower() + self.write_sigs(rpms, sigkey) + else: + self.print_debug("Checking cached signatures") + uncached = self.find_uncached(rpms, level=self.options.level) + #because we're in transition, some rpms may be signed, but not have that signature cached + #self.print_debug("Checking for uncached signatures (%d rpms)" % len(uncached)) + #unsigned = self.try_import(uncached, level=self.options.level) + self.print_debug("Signing to cache (%d rpms)" % len(uncached)) + self.sign_to_cache(uncached, self.options.level) + +if __name__ == '__main__': + x = SignUnsigned() + x.process_cmd_options() + x.create_koji_session() + x.run_command() + x.close_koji_session() +
commit aa0fa396eca4d732f656bd1afc5cfd9bd146b137 Author: Devan Goodwin dgoodwin@redhat.com Date: Mon Mar 30 16:52:03 2009 -0300
Add support for koji tag whitelist in tito.props.
If present implies all packages *not* listed in the whitelist are blacklisted.
diff --git a/rel-eng/lib/spacewalk/releng/builder.py b/rel-eng/lib/spacewalk/releng/builder.py index 954000c..67b794e 100644 --- a/rel-eng/lib/spacewalk/releng/builder.py +++ b/rel-eng/lib/spacewalk/releng/builder.py @@ -268,12 +268,21 @@ class Builder(object): for koji_tag in koji_tags: # Lookup the disttag configured for this Koji tag: disttag = self.global_config.get(koji_tag, "disttag") - if self.global_config.has_option(koji_tag, "blacklist"): + if self.global_config.has_option(koji_tag, "whitelist"): + # whitelist implies only those packages can be built to the + # tag,regardless if blacklist is also defined. + if self.project_name not in self.global_config.get(koji_tag, + "whitelist").strip().split(" "): + print("WARNING: %s not specified in whitelist for %s" % ( + self.project_name, koji_tag)) + print(" Package *NOT* submitted to Koji.") + continue + elif self.global_config.has_option(koji_tag, "blacklist"): if self.project_name in self.global_config.get(koji_tag, "blacklist").strip().split(" "): print("WARNING: %s specified in blacklist for %s" % ( self.project_name, koji_tag)) - print("WARNING: NOT submitting this srpm to koji.") + print(" Package *NOT* submitted to Koji.") continue
# Getting tricky here, normally Builder's are only used to
commit e81d9ffee3b32018c8b1d6308475f87df1f5594d Author: Devan Goodwin dgoodwin@redhat.com Date: Mon Mar 30 15:47:46 2009 -0300
tito: Change ignore_pkgs option to blacklist.
Doing this to jive with whitelist option coming soon.
diff --git a/rel-eng/koji-missing-builds.py b/rel-eng/koji-missing-builds.py index cfc4514..424ad38 100755 --- a/rel-eng/koji-missing-builds.py +++ b/rel-eng/koji-missing-builds.py @@ -42,8 +42,8 @@ distsuffix = '' tag = args[0] disttag = distmap[tag.split('-')[1]] pkgstoignore = [] -if config.has_section(tag) and config.has_option(tag, 'ignore_pkgs'): - pkgstoignore = config.get(tag, 'ignore_pkgs').split(' ') +if config.has_section(tag) and config.has_option(tag, 'blacklist'): + pkgstoignore = config.get(tag, 'blacklist').split(' ')
if opts.brew: mysession = koji.ClientSession("http://brewhub.devel.redhat.com/brewhub") diff --git a/rel-eng/lib/spacewalk/releng/builder.py b/rel-eng/lib/spacewalk/releng/builder.py index 5a42d24..954000c 100644 --- a/rel-eng/lib/spacewalk/releng/builder.py +++ b/rel-eng/lib/spacewalk/releng/builder.py @@ -268,10 +268,10 @@ class Builder(object): for koji_tag in koji_tags: # Lookup the disttag configured for this Koji tag: disttag = self.global_config.get(koji_tag, "disttag") - if self.global_config.has_option(koji_tag, "ignore_pkgs"): + if self.global_config.has_option(koji_tag, "blacklist"): if self.project_name in self.global_config.get(koji_tag, - "ignore_pkgs").strip().split(" "): - print("WARNING: %s specified in ignore_pkgs for %s" % ( + "blacklist").strip().split(" "): + print("WARNING: %s specified in blacklist for %s" % ( self.project_name, koji_tag)) print("WARNING: NOT submitting this srpm to koji.") continue diff --git a/rel-eng/tito.props b/rel-eng/tito.props index 7da0f88..ce9e025 100644 --- a/rel-eng/tito.props +++ b/rel-eng/tito.props @@ -5,13 +5,6 @@ default_tagger = spacewalk.releng.tagger.VersionTagger [koji] autobuild_tags = dist-f10-sw-0.5-candidate dist-5E-sw-0.5-candidate
-# to exclude packages from being listed in a missing -# builds report simply add the package name to the -# list in the appropriate tag section -# [kojiorbrewtag] -# ignore_missing=space seperated list of packagenames -# i.e. ignore_missing=yum-rhn-plugin oracle-selinux - [dist-f10-sw-0.5-candidate] disttag = .fc10
commit caea7085c7bfab65aa71155226a077a32b047f04 Author: Devan Goodwin dgoodwin@redhat.com Date: Mon Mar 30 15:28:22 2009 -0300
tito: Use tito.props instead of global.build.py.props.
diff --git a/rel-eng/global.build.py.props b/rel-eng/global.build.py.props deleted file mode 100644 index 7da0f88..0000000 --- a/rel-eng/global.build.py.props +++ /dev/null @@ -1,19 +0,0 @@ -[globalconfig] -default_builder = spacewalk.releng.builder.Builder -default_tagger = spacewalk.releng.tagger.VersionTagger - -[koji] -autobuild_tags = dist-f10-sw-0.5-candidate dist-5E-sw-0.5-candidate - -# to exclude packages from being listed in a missing -# builds report simply add the package name to the -# list in the appropriate tag section -# [kojiorbrewtag] -# ignore_missing=space seperated list of packagenames -# i.e. ignore_missing=yum-rhn-plugin oracle-selinux - -[dist-f10-sw-0.5-candidate] -disttag = .fc10 - -[dist-5E-sw-0.5-candidate] -disttag = .el5 diff --git a/rel-eng/lib/spacewalk/releng/cli.py b/rel-eng/lib/spacewalk/releng/cli.py index 9105678..7b40068 100644 --- a/rel-eng/lib/spacewalk/releng/cli.py +++ b/rel-eng/lib/spacewalk/releng/cli.py @@ -37,7 +37,7 @@ from spacewalk.releng.common import find_git_root, run_command, \ check_tag_exists, get_latest_tagged_version
BUILD_PROPS_FILENAME = "build.py.props" -GLOBAL_BUILD_PROPS_FILENAME = "global.build.py.props" +GLOBAL_BUILD_PROPS_FILENAME = "tito.props" GLOBALCONFIG_SECTION = "globalconfig" DEFAULT_BUILDER = "default_builder" DEFAULT_TAGGER = "default_tagger" @@ -175,6 +175,12 @@ class BaseCliModule(object): """ rel_eng_dir = os.path.join(find_git_root(), "rel-eng") filename = os.path.join(rel_eng_dir, GLOBAL_BUILD_PROPS_FILENAME) + if not os.path.exists(filename): + # HACK: Try the old filename location, pre-tito rename: + filename = os.path.join(rel_eng_dir, "global.build.py.props") + if not os.path.exists(filename): + error_out("Unable to locate branch configuration: %s" % + filename) config = ConfigParser.ConfigParser() config.read(filename)
diff --git a/rel-eng/tito.props b/rel-eng/tito.props new file mode 100644 index 0000000..7da0f88 --- /dev/null +++ b/rel-eng/tito.props @@ -0,0 +1,19 @@ +[globalconfig] +default_builder = spacewalk.releng.builder.Builder +default_tagger = spacewalk.releng.tagger.VersionTagger + +[koji] +autobuild_tags = dist-f10-sw-0.5-candidate dist-5E-sw-0.5-candidate + +# to exclude packages from being listed in a missing +# builds report simply add the package name to the +# list in the appropriate tag section +# [kojiorbrewtag] +# ignore_missing=space seperated list of packagenames +# i.e. ignore_missing=yum-rhn-plugin oracle-selinux + +[dist-f10-sw-0.5-candidate] +disttag = .fc10 + +[dist-5E-sw-0.5-candidate] +disttag = .el5
commit f85ba6ad2f5a0da7e49a0bfd2f34636b556d22a0 Author: Pradeep Kilambi pkilambi@redhat.com Date: Mon Mar 30 15:41:59 2009 -0400
Automatic commit of package [spacewalk-config] release [0.5.9-1].
diff --git a/rel-eng/packages/spacewalk-config b/rel-eng/packages/spacewalk-config index a2e7042..1547362 100644 --- a/rel-eng/packages/spacewalk-config +++ b/rel-eng/packages/spacewalk-config @@ -1 +1 @@ -0.5.8-1 spacewalk/config/ +0.5.9-1 spacewalk/config/ diff --git a/spacewalk/config/spacewalk-config.spec b/spacewalk/config/spacewalk-config.spec index 1d640f3..4308bd8 100644 --- a/spacewalk/config/spacewalk-config.spec +++ b/spacewalk/config/spacewalk-config.spec @@ -2,7 +2,7 @@
Name: spacewalk-config Summary: Spacewalk Configuration -Version: 0.5.8 +Version: 0.5.9 Release: 1%{?dist} URL: http://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -115,7 +115,7 @@ fi
%changelog -* Mon Mar 30 2009 Pradeep Kilambi pkilambi@redhat.com +* Mon Mar 30 2009 Pradeep Kilambi pkilambi@redhat.com 0.5.9-1 - 487618 - fixing jabberd to use mysql db by default instead of sqlite
* Tue Mar 24 2009 Dennis Gilmore dennis@ausil.us 0.5.8-1
commit e21cd9ac99b0135fe5327b5e4d2007c9a914da23 Author: Pradeep Kilambi pkilambi@redhat.com Date: Mon Mar 30 15:40:55 2009 -0400
new build for 487618
diff --git a/spacewalk/config/spacewalk-config.spec b/spacewalk/config/spacewalk-config.spec index 4729849..1d640f3 100644 --- a/spacewalk/config/spacewalk-config.spec +++ b/spacewalk/config/spacewalk-config.spec @@ -115,6 +115,9 @@ fi
%changelog +* Mon Mar 30 2009 Pradeep Kilambi pkilambi@redhat.com +- 487618 - fixing jabberd to use mysql db by default instead of sqlite + * Tue Mar 24 2009 Dennis Gilmore dennis@ausil.us 0.5.8-1 - Requires(pre) jabberd so we can set the password in %%post
commit 9c5aae8db19a18856f6001195490eb68afef616b Author: Pradeep Kilambi pkilambi@redhat.com Date: Mon Mar 30 15:39:19 2009 -0400
487618 - fixing jabberd configs to use mysql instead of sqlite by default since sqlite usage takes an extra manual step
diff --git a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml index 09eff11..ba1aa82 100644 --- a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml +++ b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml @@ -321,7 +321,7 @@ <path>/usr/lib/jabberd</path>
<!-- Backend module to use --> - <module>sqlite</module> + <module>db</module>
<!-- Available authentication mechanisms --> <mechanisms> diff --git a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml index 5959539..4b95480 100644 --- a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml +++ b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml @@ -71,8 +71,8 @@ <!-- Dynamic storage modules path --> <path>/usr/lib/jabberd</path>
- <!-- By default, we use the sqlite driver for all storage --> - <driver>sqlite</driver> + <!-- By default, we use the MySQL driver for all storage --> + <driver>db</driver>
<!-- Its also possible to explicitly list alternate drivers for specific data types. -->
commit 9b424fdb7e710feb73f0e458cdc88e75abbcab2e Author: James Bowes jbowes@redhat.com Date: Wed Mar 25 22:40:18 2009 -0400
Teach tito to let you use an editor on changelogs
An addendum to the previous patch; launch $EDITOR or vi to allow for modification to the changelog entry before commiting it.
diff --git a/rel-eng/lib/spacewalk/releng/tagger.py b/rel-eng/lib/spacewalk/releng/tagger.py index b56e71c..995402f 100644 --- a/rel-eng/lib/spacewalk/releng/tagger.py +++ b/rel-eng/lib/spacewalk/releng/tagger.py @@ -20,6 +20,8 @@ import sys import commands import StringIO import shutil +import subprocess +import tempfile import textwrap
from time import strftime @@ -128,28 +130,37 @@ class VersionTagger(object): (last_tag, "HEAD", ".") output = run_command(patch_command)
- print "No changelog entry found; adding the following for you:" - print - + fd, name = tempfile.mkstemp() + os.write(fd, "# No changelog entry found; please edit the following\n") header = "* %s %s <%s>\n" % (self.today, self.git_user, self.git_email)
- sys.stdout.write(header) - out_f.write(header) + os.write(fd, header)
for cmd_out in output.split("\n"): - out_f.write("- ") - out_f.write("\n ".join(textwrap.wrap(cmd_out, 77))) - out_f.write("\n") + os.write(fd, "- ") + os.write(fd, "\n ".join(textwrap.wrap(cmd_out, 77))) + os.write(fd, "\n")
- sys.stdout.write("- ") - sys.stdout.write("\n ".join(textwrap.wrap(cmd_out, 77))) - sys.stdout.write("\n") + os.write(fd, "\n")
- out_f.write("\n") - sys.stdout.write("\n") + editor = 'vi' + if os.environ.has_key("EDITOR"): + editor = os.environ["EDITOR"]
- found_match = True + subprocess.call([editor, name]) + + os.lseek(fd, 0, 0) + file = os.fdopen(fd) + + for line in file.readlines(): + if not line.startswith("#"): + out_f.write(line) + + output = file.read() + + file.close() + os.unlink(name)
in_f.close() out_f.close()
commit a0d27856d488fd6837bf1db60e0dde0ab7899d64 Author: James Bowes jbowes@redhat.com Date: Wed Mar 25 21:13:13 2009 -0400
Teach tito to generate specfile changelog entries
If tito doesn't find a changelog entry in the specfile during a tag operation, he can now create one himself from the git logs. The entry line items are made from the subject and email of committer for all untagged commits of the package in question.
If you don't like tito doing your work for you, you can stop him from doing so by passing --no-auto-changelog on the command line.
diff --git a/rel-eng/lib/spacewalk/releng/cli.py b/rel-eng/lib/spacewalk/releng/cli.py index d46d0d3..9105678 100644 --- a/rel-eng/lib/spacewalk/releng/cli.py +++ b/rel-eng/lib/spacewalk/releng/cli.py @@ -413,6 +413,9 @@ class TagModule(BaseCliModule): action="store_true", help="Use spec file version/release exactly as specified in spec file to tag package.")
+ self.parser.add_option("--no-auto-changelog", action="store_true", + default=False, + help="Don't automatically create a changelog entry for this tag if none is found")
def main(self): BaseCliModule.main(self) diff --git a/rel-eng/lib/spacewalk/releng/tagger.py b/rel-eng/lib/spacewalk/releng/tagger.py index 186b7d6..b56e71c 100644 --- a/rel-eng/lib/spacewalk/releng/tagger.py +++ b/rel-eng/lib/spacewalk/releng/tagger.py @@ -19,6 +19,8 @@ import re import sys import commands import StringIO +import shutil +import textwrap
from time import strftime
@@ -54,6 +56,8 @@ class VersionTagger(object): self.changelog_regex = re.compile('\*\s%s\s%s(\s<%s>)?' % (self.today, self.git_user, self.git_email))
+ self._no_auto_changelog = False + def run(self, options): """ Perform the actions requested of the tagger. @@ -63,6 +67,8 @@ class VersionTagger(object): """ if options.tag_release: print("WARNING: --tag-release option no longer necessary, 'tito tag' will accomplish the same thing.") + if options.no_auto_changelog: + self._no_auto_changelog=True self._tag_release()
def _tag_release(self): @@ -92,14 +98,64 @@ class VersionTagger(object): f.close()
if not found_changelog: - # TODO: Instead of dying here, we could try to add one automatically - # and generate the changelog entries from the first line of the git commit - # history for all commits since the last package version was tagged. - error_out("No changelog entry found: '* %s %s <%s>'" % ( - self.today, self.git_user, self.git_email)) + if self._no_auto_changelog: + error_out("No changelog entry found: '* %s %s <%s>'" % ( + self.today, self.git_user, self.git_email)) + else: + self._make_changelog() else: debug("Found changelog entry.")
+ def _make_changelog(self): + """ + Create a new changelog entry in the spec, with line items from git + """ + in_f = open(self.spec_file, 'r') + out_f = open(self.spec_file + ".new", 'w') + + found_changelog = False + for line in in_f.readlines(): + out_f.write(line) + + if not found_changelog and line.startswith("%changelog"): + found_changelog = True + + old_version = get_latest_tagged_version(self.project_name) + last_tag = "%s-%s" % (self.project_name, old_version) + patch_command = \ + "git log --pretty=format:%%s\ (%%ae)" \ + " --relative %s..%s -- %s" % \ + (last_tag, "HEAD", ".") + output = run_command(patch_command) + + print "No changelog entry found; adding the following for you:" + print + + header = "* %s %s <%s>\n" % (self.today, self.git_user, + self.git_email) + + sys.stdout.write(header) + out_f.write(header) + + for cmd_out in output.split("\n"): + out_f.write("- ") + out_f.write("\n ".join(textwrap.wrap(cmd_out, 77))) + out_f.write("\n") + + sys.stdout.write("- ") + sys.stdout.write("\n ".join(textwrap.wrap(cmd_out, 77))) + sys.stdout.write("\n") + + out_f.write("\n") + sys.stdout.write("\n") + + found_match = True + + in_f.close() + out_f.close() + + shutil.move(self.spec_file + ".new", self.spec_file) + def _update_changelog(self, new_version): """ Update the changelog with the new version.
commit d8eb928fc1b286a77d9b300f40c8479ed206e6b1 Author: Mike McCune mmccune@gmail.com Date: Mon Mar 30 10:21:16 2009 -0700
Automatic commit of package [spacewalk-java] release [0.5.42-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec index e21e2b0..a6423ce 100644 --- a/java/spacewalk-java.spec +++ b/java/spacewalk-java.spec @@ -10,7 +10,7 @@ Name: spacewalk-java Summary: Spacewalk Java site packages Group: Applications/Internet License: GPLv2 -Version: 0.5.41 +Version: 0.5.42 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -235,6 +235,17 @@ fi %attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog +* Mon Mar 30 2009 Mike McCune mmccune@gmail.com 0.5.42-1 +- 144325 - converting system probe list to the new list tag, featuring all the bells and + whistles the new list tag has to offer +- 492478 - modifying the system applicable errata page so that you can filter on the + type of errata you want to see, also linking a couple of critical errata li +- 467063 - Port of clone errata functionality to new list tag +- 492418 - adding missing channel title when creating new software channels +- 492476 - fixing issue where critical plus non-critical errata for a system (on the system details page) did not total errata +- 492146 - fixing issue where system icons are not clickable + + * Thu Mar 26 2009 jesus m. rodriguez jesusr@redhat.com 0.5.41-1 - 437359 - redirect org creation to the orgsystemsubscription page - 489007 - add system.getConnectionPath for listing proxies a server connected through diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java index 00a9c44..29807a7 100644 --- a/rel-eng/packages/spacewalk-java +++ b/rel-eng/packages/spacewalk-java @@ -1 +1 @@ -0.5.41-1 java/ +0.5.42-1 java/
commit 8bf64e94de5c9143c91b1a19067da6e6ebd8cbaf Author: Mike McCune mmccune@gmail.com Date: Mon Mar 30 10:10:17 2009 -0700
changing tree paths to italics
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml index 3784e92..ea45ad8 100644 --- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml +++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml @@ -16787,7 +16787,7 @@ The Distribution Label field should contain only letters, numbers, hyphens, peri
The Tree Path, Kickstart RPM, Base Channel, and Installer Generation should always match. This generally means that the versions for each field should be from the same version of Red Hat Enterprise Linux.<br/><br/>
-<p>The Tree Path must be a local disk path on your @@PRODUCT_NAME@@ server containing the kernel and initrd required for kickstarting a system. From within the specified tree path, a kernel should be available at "./images/pxeboot/vmlinuz" and an initrd image should be available at "./images/pxeboot/initrd.img". For instance, if you have media located on the @@PRODUCT_NAME@@ server: at /var/distro-trees/rhel-5-server/ you would specify that path as your Tree Path value which would check for a kernel and initrd here: /var/distro-trees/rhel-5-server/images/pxeboot/</p> +<p>The Tree Path must be a local disk path on your @@PRODUCT_NAME@@ server containing the kernel and initrd required for kickstarting a system. From within the specified tree path, a kernel should be available at "./images/pxeboot/vmlinuz" and an initrd image should be available at "./images/pxeboot/initrd.img". For instance, if you have media located on the @@PRODUCT_NAME@@ server at: <i>/var/distro-trees/rhel-5-server/</i> you would specify that path as your Tree Path value which would check for a kernel and initrd here: <i>/var/distro-trees/rhel-5-server/images/pxeboot/</i> </p> </source> <context-group name="ctx"> <context context-type="sourcefile">/rhn/kickstart/TreeCreate.do</context>
commit b054f58aca33295419c1599b5dacccb59da2755e Author: Mike McCune mmccune@gmail.com Date: Mon Mar 30 09:47:01 2009 -0700
fixing wording to not reference redhat internal resources
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml index d34d976..3784e92 100644 --- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml +++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml @@ -16787,7 +16787,7 @@ The Distribution Label field should contain only letters, numbers, hyphens, peri
The Tree Path, Kickstart RPM, Base Channel, and Installer Generation should always match. This generally means that the versions for each field should be from the same version of Red Hat Enterprise Linux.<br/><br/>
-<p>The Tree Path must be a local disk path on your @@PRODUCT_NAME@@ server containing the kernel and initrd required for kickstarting a system. From within the specified tree path, a kernel should be available at "./images/pxeboot/vmlinuz" and an initrd image should be available at "./images/pxeboot/initrd.img". For instance, you can create a tree by mounting engarchive and specifying: "/mnt/engarchive/released/RHEL-5-Server/U3/i386/os" if you wanted to create a RHEL 5 tree.</p> +<p>The Tree Path must be a local disk path on your @@PRODUCT_NAME@@ server containing the kernel and initrd required for kickstarting a system. From within the specified tree path, a kernel should be available at "./images/pxeboot/vmlinuz" and an initrd image should be available at "./images/pxeboot/initrd.img". For instance, if you have media located on the @@PRODUCT_NAME@@ server: at /var/distro-trees/rhel-5-server/ you would specify that path as your Tree Path value which would check for a kernel and initrd here: /var/distro-trees/rhel-5-server/images/pxeboot/</p> </source> <context-group name="ctx"> <context context-type="sourcefile">/rhn/kickstart/TreeCreate.do</context>
commit b5e972b1a7a8cf385ba9747b3d3490e9687cbfba Author: Miroslav Suchý msuchy@redhat.com Date: Mon Mar 30 17:04:33 2009 +0200
Automatic commit of package [rhn-client-tools] release [0.4.24-1].
diff --git a/client/rhel/rhn-client-tools/rhn-client-tools.spec b/client/rhel/rhn-client-tools/rhn-client-tools.spec index 4858279..e288ad3 100644 --- a/client/rhel/rhn-client-tools/rhn-client-tools.spec +++ b/client/rhel/rhn-client-tools/rhn-client-tools.spec @@ -5,7 +5,7 @@ Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t.... Source1: rhn_register.desktop URL: https://fedorahosted.org/spacewalk Name: rhn-client-tools -Version: 0.4.23 +Version: 0.4.24 Release: 1%{?dist} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch @@ -205,7 +205,7 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/applications/rhn_register.desktop
%changelog -* Mon Mar 30 2009 Miroslav Suchy msuchy@redhat.com 0.4.23-1 +* Mon Mar 30 2009 Miroslav Suchy msuchy@redhat.com 0.4.24-1 - 490438 - add .desktop file, own allowed-actions dir
* Mon Mar 16 2009 Miroslav Suchy msuchy@redhat.com 0.4.22-1 diff --git a/rel-eng/packages/rhn-client-tools b/rel-eng/packages/rhn-client-tools index 8fd0126..5e79196 100644 --- a/rel-eng/packages/rhn-client-tools +++ b/rel-eng/packages/rhn-client-tools @@ -1 +1 @@ -0.4.23-1 client/rhel/rhn-client-tools/ +0.4.24-1 client/rhel/rhn-client-tools/
commit 72f73373f0898a22f7902ab94f83d0a9b3834fac Author: Miroslav Suchý msuchy@redhat.com Date: Mon Mar 30 17:03:58 2009 +0200
_desktopdir macro is not known in buildroots, expanding...
diff --git a/client/rhel/rhn-client-tools/rhn-client-tools.spec b/client/rhel/rhn-client-tools/rhn-client-tools.spec index 699072c..4858279 100644 --- a/client/rhel/rhn-client-tools/rhn-client-tools.spec +++ b/client/rhel/rhn-client-tools/rhn-client-tools.spec @@ -79,7 +79,7 @@ make -f Makefile.rhn-client-tools install VERSION=%{version}-%{release} PREFIX=$
mkdir -p $RPM_BUILD_ROOT/var/lib/up2date
-desktop-file-install --dir=${RPM_BUILD_ROOT}%{_desktopdir} --vendor=rhn %{SOURCE1} +desktop-file-install --dir=${RPM_BUILD_ROOT}%{_datadir}/applications --vendor=rhn %{SOURCE1}
%find_lang %{name}
@@ -202,7 +202,7 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/icons/hicolor/24x24/apps/up2date.png %{_datadir}/icons/hicolor/32x32/apps/up2date.png %{_datadir}/icons/hicolor/48x48/apps/up2date.png -%{_desktopdir}/rhn_register.desktop +%{_datadir}/applications/rhn_register.desktop
%changelog * Mon Mar 30 2009 Miroslav Suchy msuchy@redhat.com 0.4.23-1
commit ed4eba14be469b95b48ebc95dbb17cf55b7ecf78 Author: Miroslav Suchý msuchy@redhat.com Date: Mon Mar 30 16:47:51 2009 +0200
Automatic commit of package [spacewalk-proxy-installer] release [0.5.25-1].
diff --git a/proxy/installer/spacewalk-proxy-installer.spec b/proxy/installer/spacewalk-proxy-installer.spec index 9bb7cf6..67dea65 100644 --- a/proxy/installer/spacewalk-proxy-installer.spec +++ b/proxy/installer/spacewalk-proxy-installer.spec @@ -2,7 +2,7 @@ Name: spacewalk-proxy-installer Summary: Spacewalk Proxy Server Installer Group: Applications/Internet License: GPLv2 -Version: 0.5.24 +Version: 0.5.25 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -82,7 +82,7 @@ rm -rf $RPM_BUILD_ROOT %doc LICENSE answers.txt
%changelog -* Mon Mar 30 2009 Miroslav Suchý msuchy@redhat.com +* Mon Mar 30 2009 Miroslav Suchý msuchy@redhat.com 0.5.25-1 - 492871 - do not depend on apache user when it not yet available
* Mon Mar 30 2009 Michael Mraka michael.mraka@redhat.com 0.5.24-1 diff --git a/rel-eng/packages/spacewalk-proxy-installer b/rel-eng/packages/spacewalk-proxy-installer index 8d9ed2b..a65662e 100644 --- a/rel-eng/packages/spacewalk-proxy-installer +++ b/rel-eng/packages/spacewalk-proxy-installer @@ -1 +1 @@ -0.5.24-1 proxy/installer/ +0.5.25-1 proxy/installer/
commit c120c33d10ca7ebf2887f01a31e4edb1a616dc2f Author: Miroslav Suchý msuchy@redhat.com Date: Mon Mar 30 16:47:00 2009 +0200
492871 - do not depend on apache user when it not yet available
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh index b3c3c44..6343614 100755 --- a/proxy/installer/configure-proxy.sh +++ b/proxy/installer/configure-proxy.sh @@ -127,8 +127,8 @@ USE_SSL=$(yes_no $USE_SSL)
default_or_input "CA Chain" CA_CHAIN $(awk -F'[=;]' '/sslCACert=/ {a=$2} END { print a}' $SYSCONFIG_DIR/up2date)
-if ! /sbin/runuser apache -s /bin/sh --command="[ -r $CA_CHAIN ]" ; then - echo Error: File $CA_CHAIN is not readable by apache user. +if ! /sbin/runuser nobody -s /bin/sh --command="[ -r $CA_CHAIN ]" ; then + echo Error: File $CA_CHAIN is not readable by nobody user. exit 1 fi
diff --git a/proxy/installer/spacewalk-proxy-installer.spec b/proxy/installer/spacewalk-proxy-installer.spec index 402e716..9bb7cf6 100644 --- a/proxy/installer/spacewalk-proxy-installer.spec +++ b/proxy/installer/spacewalk-proxy-installer.spec @@ -82,6 +82,9 @@ rm -rf $RPM_BUILD_ROOT %doc LICENSE answers.txt
%changelog +* Mon Mar 30 2009 Miroslav Suchý msuchy@redhat.com +- 492871 - do not depend on apache user when it not yet available + * Mon Mar 30 2009 Michael Mraka michael.mraka@redhat.com 0.5.24-1 - reformated configure-proxy.sh
commit 5357cc6f890d71fd761e04e9ddf8bc8179120646 Author: Jason Dobies jason.dobies@redhat.com Date: Mon Mar 30 10:39:24 2009 -0500
Updated styles on table
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf index d3c1440..accbd2e 100644 --- a/java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf +++ b/java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf @@ -34,7 +34,8 @@ <rl:column headerkey="erratalist.jsp.synopsis"> ${current.synopsis} </rl:column> - <rl:column headerkey="erratalist.jsp.updated"> + <rl:column headerkey="erratalist.jsp.updated" + styleclass="last-column"> ${current.updateDate} </rl:column>
commit 7523f442828a5a4b991f85561917eff8f772345e Author: Milan Zazrivec mzazrivec@redhat.com Date: Mon Mar 30 13:47:59 2009 +0200
Automatic commit of package [spacewalk-backend] release [0.5.28-1].
diff --git a/backend/spacewalk-backend.spec b/backend/spacewalk-backend.spec index 90bd0dc..9ac01a1 100644 --- a/backend/spacewalk-backend.spec +++ b/backend/spacewalk-backend.spec @@ -7,7 +7,7 @@ Name: spacewalk-backend Summary: Common programs needed to be installed on the Spacewalk servers/proxies Group: Applications/Internet License: GPLv2 -Version: 0.5.27 +Version: 0.5.28 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -562,6 +562,9 @@ rm -f %{rhnconf}/rhnSecret.py*
# $Id$ %changelog +* Mon Mar 30 2009 Milan Zazrivec mzazrivec@redhat.com 0.5.28-1 +- 485698 - rhn-satellite-exporter manual page fixes + * Thu Mar 26 2009 Milan Zazrivec mzazrivec@redhat.com 0.5.27-1 - 486526 - additional system files and db statistics included into spacewalk-debug archive
diff --git a/rel-eng/packages/spacewalk-backend b/rel-eng/packages/spacewalk-backend index 1c2f570..a63cd47 100644 --- a/rel-eng/packages/spacewalk-backend +++ b/rel-eng/packages/spacewalk-backend @@ -1 +1 @@ -0.5.27-1 backend/ +0.5.28-1 backend/
commit 73e7fd971625d652626a22b73200f92d2168f22e Author: Miroslav Suchý msuchy@redhat.com Date: Mon Mar 30 13:39:28 2009 +0200
Automatic commit of package [rhn-client-tools] release [0.4.23-1].
diff --git a/client/rhel/rhn-client-tools/rhn-client-tools.spec b/client/rhel/rhn-client-tools/rhn-client-tools.spec index 249a4bc..699072c 100644 --- a/client/rhel/rhn-client-tools/rhn-client-tools.spec +++ b/client/rhel/rhn-client-tools/rhn-client-tools.spec @@ -5,7 +5,7 @@ Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t.... Source1: rhn_register.desktop URL: https://fedorahosted.org/spacewalk Name: rhn-client-tools -Version: 0.4.22 +Version: 0.4.23 Release: 1%{?dist} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch @@ -205,7 +205,7 @@ rm -rf $RPM_BUILD_ROOT %{_desktopdir}/rhn_register.desktop
%changelog -* Mon Mar 30 2009 Miroslav Suchy msuchy@redhat.com +* Mon Mar 30 2009 Miroslav Suchy msuchy@redhat.com 0.4.23-1 - 490438 - add .desktop file, own allowed-actions dir
* Mon Mar 16 2009 Miroslav Suchy msuchy@redhat.com 0.4.22-1 diff --git a/rel-eng/packages/rhn-client-tools b/rel-eng/packages/rhn-client-tools index 1b32b45..8fd0126 100644 --- a/rel-eng/packages/rhn-client-tools +++ b/rel-eng/packages/rhn-client-tools @@ -1 +1 @@ -0.4.22-1 client/rhel/rhn-client-tools/ +0.4.23-1 client/rhel/rhn-client-tools/
commit 0cd6ea34fccb64cc380962750bbd5fe8632562c6 Author: Miroslav Suchý msuchy@redhat.com Date: Mon Mar 30 13:38:06 2009 +0200
490438 - own allowed-actions dir
diff --git a/client/rhel/rhn-client-tools/etc-conf/Makefile b/client/rhel/rhn-client-tools/etc-conf/Makefile index f90bf9a..544d0f8 100644 --- a/client/rhel/rhn-client-tools/etc-conf/Makefile +++ b/client/rhel/rhn-client-tools/etc-conf/Makefile @@ -13,13 +13,16 @@ SECURITY_DIR = $(PREFIX)/etc/security/console.apps CONFIG_DIR = $(PREFIX)/etc/sysconfig/rhn MACROS_DIR = $(PREFIX)/etc/rpm/ CAPS_DIR = $(PREFIX)/etc/sysconfig/rhn/clientCaps.d +ALLOWED_ACTIONS_SCRIPT = $(PREFIX)/etc/sysconfig/rhn/allowed-actions/script +ALLOWED_ACTIONS_CONFIG = $(PREFIX)/etc/sysconfig/rhn/allowed-actions/configfiles LOGROTATE_DIR = $(PREFIX)/etc/logrotate.d YUM_REPO_DIR = $(PREFIX)/etc/yum.repos.d
# all dirs DIRS = $(PAMD_DIR) $(SECURITY_DIR) $(CONFIG_DIR) \ $(LOGROTATE_DIR) $(YUM_REPO_DIR)\ - $(MACROS_DIR) $(CAPS_DIR) + $(MACROS_DIR) $(CAPS_DIR) $(ALLOWED_ACTIONS_SCRIPT) \ + $(ALLOWED_ACTIONS_CONFIG)
# INSTALL scripts INSTALL = install -p --verbose diff --git a/client/rhel/rhn-client-tools/rhn-client-tools.spec b/client/rhel/rhn-client-tools/rhn-client-tools.spec index d77e267..249a4bc 100644 --- a/client/rhel/rhn-client-tools/rhn-client-tools.spec +++ b/client/rhel/rhn-client-tools/rhn-client-tools.spec @@ -103,6 +103,9 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_sysconfdir}/sysconfig/rhn %dir %{_sysconfdir}/sysconfig/rhn/clientCaps.d +%dir %{_sysconfdir}/sysconfig/rhn/allowed-actions +%dir %{_sysconfdir}/sysconfig/rhn/allowed-actions/configfiles +%dir %{_sysconfdir}/sysconfig/rhn/allowed-actions/script %config(noreplace) %{_sysconfdir}/sysconfig/rhn/up2date %config(noreplace) %{_sysconfdir}/logrotate.d/up2date %config(noreplace) %{_sysconfdir}/rpm/macros.up2date @@ -203,7 +206,7 @@ rm -rf $RPM_BUILD_ROOT
%changelog * Mon Mar 30 2009 Miroslav Suchy msuchy@redhat.com -- 490438 - add .desktop file +- 490438 - add .desktop file, own allowed-actions dir
* Mon Mar 16 2009 Miroslav Suchy msuchy@redhat.com 0.4.22-1 - use macros insted hardcoded paths
commit 1d7459a75ee53596a87140760892aea0027e304d Author: Miroslav Suchý msuchy@redhat.com Date: Mon Mar 30 12:27:40 2009 +0200
490438 - add .desktop file
diff --git a/client/rhel/rhn-client-tools/rhn-client-tools.spec b/client/rhel/rhn-client-tools/rhn-client-tools.spec index 7e885e1..d77e267 100644 --- a/client/rhel/rhn-client-tools/rhn-client-tools.spec +++ b/client/rhel/rhn-client-tools/rhn-client-tools.spec @@ -2,6 +2,7 @@ Summary: Support programs and libraries for Red Hat Network or Spacewalk License: GPLv2 Group: System Environment/Base Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... +Source1: rhn_register.desktop URL: https://fedorahosted.org/spacewalk Name: rhn-client-tools Version: 0.4.22 @@ -25,6 +26,7 @@ Conflicts: up2date BuildRequires: python-devel BuildRequires: gettext BuildRequires: intltool +BuildRequires: desktop-file-utils
%description Red Hat Network Client Tools provides programs and libraries to allow your @@ -77,9 +79,12 @@ make -f Makefile.rhn-client-tools install VERSION=%{version}-%{release} PREFIX=$
mkdir -p $RPM_BUILD_ROOT/var/lib/up2date
+desktop-file-install --dir=${RPM_BUILD_ROOT}%{_desktopdir} --vendor=rhn %{SOURCE1} + %find_lang %{name}
+ %clean rm -rf $RPM_BUILD_ROOT
@@ -194,8 +199,12 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/icons/hicolor/24x24/apps/up2date.png %{_datadir}/icons/hicolor/32x32/apps/up2date.png %{_datadir}/icons/hicolor/48x48/apps/up2date.png +%{_desktopdir}/rhn_register.desktop
%changelog +* Mon Mar 30 2009 Miroslav Suchy msuchy@redhat.com +- 490438 - add .desktop file + * Mon Mar 16 2009 Miroslav Suchy msuchy@redhat.com 0.4.22-1 - use macros insted hardcoded paths
diff --git a/client/rhel/rhn-client-tools/rhn_register.desktop b/client/rhel/rhn-client-tools/rhn_register.desktop new file mode 100644 index 0000000..d8f5240 --- /dev/null +++ b/client/rhel/rhn-client-tools/rhn_register.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=rhn_register +GenericName=Registering for software updated +Comment=Register to Spacewalk/Satellite/Red Hat Network. +Exec=rhn_register +Icon=up2date +Terminal=false +Type=Application +Categories=Settings;
commit 2b88c5e2f36168c143205b4bd18dc13d40e45a3d Author: Milan Zazrivec mzazrivec@redhat.com Date: Mon Mar 30 11:58:21 2009 +0200
485698 - be consistent in long options syntax description
diff --git a/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml b/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml index 3023c09..1cdae09 100644 --- a/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml +++ b/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml @@ -158,7 +158,7 @@ A tool that exports satellite content into a directory in an XML format. That co </listitem> </varlistentry> <varlistentry> - <term>-p --print-configuration</term> + <term>-p, --print-configuration</term> <listitem> <para>Print the configuration and exit.</para> </listitem>
commit a5ff38524c1c3b35e5eb8b72f107a6b7793c13a9 Author: Milan Zazrivec mzazrivec@redhat.com Date: Mon Mar 30 11:55:31 2009 +0200
485698 - correct the -d / --dir syntax description in manual page
diff --git a/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml b/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml index 95fe912..3023c09 100644 --- a/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml +++ b/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml @@ -103,7 +103,7 @@ A tool that exports satellite content into a directory in an XML format. That co <RefSect1><Title>Options</Title> <variablelist> <varlistentry> - <term>-d --dir</term> + <term>-dDIR, --dir=DIR</term> <listitem> <para>Place the exported information into this directory.</para> </listitem>
commit 655f6165469c7b799fdb32b8a7b79d18a32d70dc Author: Milan Zazrivec mzazrivec@redhat.com Date: Mon Mar 30 11:42:11 2009 +0200
485698 - -h option missing in manual page
diff --git a/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml b/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml index 4375e14..95fe912 100644 --- a/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml +++ b/backend/satellite_tools/disk_dumper/rhn-satellite-exporter.sgml @@ -224,7 +224,7 @@ A tool that exports satellite content into a directory in an XML format. That co </listitem> </varlistentry> <varlistentry> - <term>--help</term> + <term>-h, --help</term> <listitem> <para>Show help message and exit.</para> </listitem>
commit 70c7a6b91570a9ab836c91685a8a3281c5620ad2 Author: Michael Mraka michael.mraka@redhat.com Date: Mon Mar 30 10:01:36 2009 +0200
Automatic commit of package [spacewalk-proxy-installer] release [0.5.24-1].
diff --git a/proxy/installer/spacewalk-proxy-installer.spec b/proxy/installer/spacewalk-proxy-installer.spec index afae88e..402e716 100644 --- a/proxy/installer/spacewalk-proxy-installer.spec +++ b/proxy/installer/spacewalk-proxy-installer.spec @@ -2,7 +2,7 @@ Name: spacewalk-proxy-installer Summary: Spacewalk Proxy Server Installer Group: Applications/Internet License: GPLv2 -Version: 0.5.23 +Version: 0.5.24 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -82,6 +82,9 @@ rm -rf $RPM_BUILD_ROOT %doc LICENSE answers.txt
%changelog +* Mon Mar 30 2009 Michael Mraka michael.mraka@redhat.com 0.5.24-1 +- reformated configure-proxy.sh + * Thu Mar 26 2009 Miroslav Suchý msuchy@redhat.com 0.5.23-1 - 486125 - if some option is present in answer file, use it even if empty - remove dependency on httpd which conflict with older proxies, let diff --git a/rel-eng/packages/spacewalk-proxy-installer b/rel-eng/packages/spacewalk-proxy-installer index 9854c61..8d9ed2b 100644 --- a/rel-eng/packages/spacewalk-proxy-installer +++ b/rel-eng/packages/spacewalk-proxy-installer @@ -1 +1 @@ -0.5.23-1 proxy/installer/ +0.5.24-1 proxy/installer/
commit aba79d8c16b0c187350e96f155037c5cb5828e31 Author: Michael Mraka michael.mraka@redhat.com Date: Sat Mar 28 01:17:55 2009 +0100
replaced /etc/squid with SQUID_DIR
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh index d8e82d9..b3c3c44 100755 --- a/proxy/installer/configure-proxy.sh +++ b/proxy/installer/configure-proxy.sh @@ -101,7 +101,7 @@ HTTPDCONF_DIR=/etc/httpd/conf HTTPDCONFD_DIR=/etc/httpd/conf.d HTMLPUB_DIR=/var/www/html/pub JABBERD_DIR=/etc/jabberd - +SQUID_DIR=/etc/squid
SYSTEM_ID=$(/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt $SYSCONFIG_DIR/systemid | cut -d- -f2)
@@ -223,7 +223,7 @@ SQUID_SIZE=$(df -P /var/spool/squid | awk '{a=$4} END {printf("%d", a * 60 / 100 sed "s/${session.hostname}/$HOSTNAME/g" < $DIR/c2s.xml > $JABBERD_DIR/c2s.xml sed "s/${session.hostname}/$HOSTNAME/g" < $DIR/sm.xml > $JABBERD_DIR/sm.xml sed "s|cache_dir ufs /var/spool/squid 15000 16 256|cache_dir ufs /var/spool/squid $SQUID_SIZE 16 256|g" \ - < $DIR/squid.conf > /etc/squid/squid.conf + < $DIR/squid.conf > $SQUID_DIR/squid.conf sed -e "s|${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT}|$CA_CHAIN|g" \ -e "s/${session.http_proxy}/$HTTP_PROXY/g" \ -e "s/${session.http_proxy_username}/$HTTP_USERNAME/g" \ @@ -323,7 +323,7 @@ if [ "$POPULATE_CONFIG_CHANNEL" = "1" ]; then $HTTPDCONFD_DIR/ssl.conf \ $RHNCONF_DIR/rhn.conf \ $RHNCONF_DIR/cluster.ini \ - /etc/squid/squid.conf \ + $SQUID_DIR/squid.conf \ $HTTPDCONFD_DIR/cobbler-proxy.conf \ $HTTPDCONF_DIR/httpd.conf \ $HTTPDCONFD_DIR/rhn_proxy.conf \
commit 5d76154a8aa74985af5145f18c3d7e03be3ffe5d Author: Michael Mraka michael.mraka@redhat.com Date: Sat Mar 28 01:11:24 2009 +0100
don't mix `...` and $(...)
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh index 635059d..d8e82d9 100755 --- a/proxy/installer/configure-proxy.sh +++ b/proxy/installer/configure-proxy.sh @@ -29,7 +29,7 @@ INTERACTIVE=1 while [ $# -ge 1 ]; do case $1 in --help | -h) print_help;; - --answer-file=*) . `echo $1 | cut -d= -f2`;; + --answer-file=*) . $(echo $1 | cut -d= -f2);; --non-interactive) INTERACTIVE=0;; esac shift @@ -103,10 +103,10 @@ HTMLPUB_DIR=/var/www/html/pub JABBERD_DIR=/etc/jabberd
-SYSTEM_ID=`/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt $SYSCONFIG_DIR/systemid | cut -d- -f2` +SYSTEM_ID=$(/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt $SYSCONFIG_DIR/systemid | cut -d- -f2)
DIR=/usr/share/doc/proxy/conf-template -HOSTNAME=`hostname` +HOSTNAME=$(hostname)
default_or_input "Proxy version to activate" VERSION $(rpm -q --queryformat %{version} spacewalk-proxy-installer|cut -d. -f1-2)
@@ -206,7 +206,7 @@ if [ $MONITORING -eq 0 ]; then #and with cluster.ini echo "Configuring monitoring." default_or_input "Monitoring parent" MONITORING_PARENT "$RHN_PARENT" - RESOLVED_IP=`/usr/bin/getent hosts $RHN_PARENT | cut -f1 -d' '` + RESOLVED_IP=$(/usr/bin/getent hosts $RHN_PARENT | cut -f1 -d' ') default_or_input "Monitoring parent IP" MONITORING_PARENT_IP "$RESOLVED_IP" default_or_input "Enable monitoring scout" ENABLE_SCOUT "Y/n" ENABLE_SCOUT=$(yes_no $ENABLE_SCOUT) @@ -276,12 +276,12 @@ else echo "Using CA key at $SSL_BUILD_DIR/RHN-ORG-PRIVATE-SSL-KEY." fi
-RPM_CA=`grep noarch $SSL_BUILD_DIR/latest.txt` +RPM_CA=$(grep noarch $SSL_BUILD_DIR/latest.txt)
if [ ! -f $SSL_BUILD_DIR/$RPM_CA ]; then echo "Generating distributable RPM for CA public certificate:" /usr/bin/rhn-ssl-tool --gen-ca -q --rpm-only --dir="$SSL_BUILD_DIR" - RPM_CA=`grep noarch $SSL_BUILD_DIR/latest.txt` + RPM_CA=$(grep noarch $SSL_BUILD_DIR/latest.txt) fi
if [ ! -f $HTMLPUB_DIR/$RPM_CA ] || [ ! -f $HTMLPUB_DIR/RHN-ORG-TRUSTED-SSL-CERT ]; then @@ -303,7 +303,7 @@ echo "Generating SSL key and public certificate:" config_error $? "SSL key generation failed!"
echo "Installing SSL certificate for Apache and Jabberd:" -rpm -Uv `/usr/bin/rhn-ssl-tool --gen-server --rpm-only --dir="$SSL_BUILD_DIR" 2>/dev/null |grep noarch.rpm` +rpm -Uv $(/usr/bin/rhn-ssl-tool --gen-server --rpm-only --dir="$SSL_BUILD_DIR" 2>/dev/null |grep noarch.rpm)
mv $HTTPDCONFD_DIR/ssl.conf $HTTPDCONFD_DIR/ssl.conf.bak sed -e "s|^SSLCertificateFile /etc/pki/tls/certs/localhost.crt$|SSLCertificateFile $HTTPDCONF_DIR/ssl.crt/server.crt|g" \
commit b1c1fa89fb931bdb4ed71eedcbcc5c0e34bf31c7 Author: Michael Mraka michael.mraka@redhat.com Date: Sat Mar 28 01:03:42 2009 +0100
let's do math inside awk
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh index 1e80f23..635059d 100755 --- a/proxy/installer/configure-proxy.sh +++ b/proxy/installer/configure-proxy.sh @@ -218,7 +218,7 @@ fi # df -P give free space in kB # * 60 / 100 is 60% of that space # / 1024 is to get value in MB -SQUID_SIZE=$(( `df -P /var/spool/squid | awk '{a=$4} END {print a}'` * 60 / 100 / 1024 )) +SQUID_SIZE=$(df -P /var/spool/squid | awk '{a=$4} END {printf("%d", a * 60 / 100 / 1024)}')
sed "s/${session.hostname}/$HOSTNAME/g" < $DIR/c2s.xml > $JABBERD_DIR/c2s.xml sed "s/${session.hostname}/$HOSTNAME/g" < $DIR/sm.xml > $JABBERD_DIR/sm.xml
commit e58f05817f8324ae44efd1bf792b5185e986385f Author: Michael Mraka michael.mraka@redhat.com Date: Sat Mar 28 00:57:10 2009 +0100
command args formated more readable way
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh index d9bebfe..1e80f23 100755 --- a/proxy/installer/configure-proxy.sh +++ b/proxy/installer/configure-proxy.sh @@ -77,7 +77,13 @@ yes_no() { config_error () { if [ $1 -gt 0 ]; then echo "$2 Installation interrupted." - /usr/bin/rhn-proxy-activate --server="$RHN_PARENT" --http-proxy="$HTTP_PROXY" --http-proxy-username="$HTTP_USERNAME" --http-proxy-password="$HTTP_PASSWORD" --ca-cert="$CA_CHAIN" --deactivate --non-interactive + /usr/bin/rhn-proxy-activate \ + --server="$RHN_PARENT" \ + --http-proxy="$HTTP_PROXY" \ + --http-proxy-username="$HTTP_USERNAME" \ + --http-proxy-password="$HTTP_PASSWORD" \ + --ca-cert="$CA_CHAIN" \ + --deactivate --non-interactive exit $1 fi } @@ -159,7 +165,13 @@ default_or_input "Country code" SSL_COUNTRY '' default_or_input "Email" SSL_EMAIL "$TRACEBACK_EMAIL"
-/usr/bin/rhn-proxy-activate --server="$RHN_PARENT" --http-proxy="$HTTP_PROXY" --http-proxy-username="$HTTP_USERNAME" --http-proxy-password="$HTTP_PASSWORD" --ca-cert="$CA_CHAIN" --version="$VERSION" --non-interactive +/usr/bin/rhn-proxy-activate --server="$RHN_PARENT" \ + --http-proxy="$HTTP_PROXY" \ + --http-proxy-username="$HTTP_USERNAME" \ + --http-proxy-password="$HTTP_PASSWORD" \ + --ca-cert="$CA_CHAIN" \ + --version="$VERSION" \ + --non-interactive config_error $? "Proxy activation failed!"
$YUM_OR_UPDATE spacewalk-proxy-management @@ -249,9 +261,15 @@ fi
if [ ! -f $SSL_BUILD_DIR/RHN-ORG-PRIVATE-SSL-KEY ]; then echo "Generating CA key and public certificate:" - /usr/bin/rhn-ssl-tool --gen-ca -q --dir="$SSL_BUILD_DIR" --set-common-name="$SSL_COMMON" \ - --set-country="$SSL_COUNTRY" --set-city="$SSL_CITY" --set-state="$SSL_STATE" \ - --set-org="$SSL_ORG" --set-org-unit="$SSL_ORGUNIT" --set-email="$SSL_EMAIL" \ + /usr/bin/rhn-ssl-tool --gen-ca -q \ + --dir="$SSL_BUILD_DIR" \ + --set-common-name="$SSL_COMMON" \ + --set-country="$SSL_COUNTRY" \ + --set-city="$SSL_CITY" \ + --set-state="$SSL_STATE" \ + --set-org="$SSL_ORG" \ + --set-org-unit="$SSL_ORGUNIT" \ + --set-email="$SSL_EMAIL" \ $RHNSSLTOOLPWD config_error $? "CA certificate generation failed!" else @@ -272,9 +290,15 @@ if [ ! -f $HTMLPUB_DIR/$RPM_CA ] || [ ! -f $HTMLPUB_DIR/RHN-ORG-TRUSTED-SSL-CERT fi
echo "Generating SSL key and public certificate:" -/usr/bin/rhn-ssl-tool --gen-server -q --no-rpm --set-hostname "$HOSTNAME" --dir="$SSL_BUILD_DIR" \ - --set-country="$SSL_COUNTRY" --set-city="$SSL_CITY" --set-state="$SSL_STATE" \ - --set-org="$SSL_ORG" --set-org-unit="$SSL_ORGUNIT" --set-email="$SSL_EMAIL" \ +/usr/bin/rhn-ssl-tool --gen-server -q --no-rpm \ + --set-hostname "$HOSTNAME" \ + --dir="$SSL_BUILD_DIR" \ + --set-country="$SSL_COUNTRY" \ + --set-city="$SSL_CITY" \ + --set-state="$SSL_STATE" \ + --set-org="$SSL_ORG" \ + --set-org-unit="$SSL_ORGUNIT" \ + --set-email="$SSL_EMAIL" \ $RHNSSLTOOLPWD config_error $? "SSL key generation failed!"
@@ -292,12 +316,21 @@ CHANNEL_LABEL="rhn_proxy_config_$SYSTEM_ID" default_or_input "Create and populate configuration channel $CHANNEL_LABEL?" POPULATE_CONFIG_CHANNEL 'Y/n' POPULATE_CONFIG_CHANNEL=$(yes_no $POPULATE_CONFIG_CHANNEL) if [ "$POPULATE_CONFIG_CHANNEL" = "1" ]; then - rhncfg-manager create-channel --server-name "$RHN_PARENT" rhn_proxy_config_$SYSTEM_ID - rhncfg-manager update --server-name "$RHN_PARENT" --channel=rhn_proxy_config_$SYSTEM_ID \ - $HTTPDCONFD_DIR/ssl.conf $RHNCONF_DIR/rhn.conf $RHNCONF_DIR/cluster.ini /etc/squid/squid.conf \ - $HTTPDCONFD_DIR/cobbler-proxy.conf $HTTPDCONF_DIR/httpd.conf $HTTPDCONFD_DIR/rhn_proxy.conf \ - $HTTPDCONFD_DIR/proxy_broker.conf $HTTPDCONFD_DIR/proxy_redirect.conf \ - $JABBERD_DIR/c2s.xml $JABBERD_DIR/sm.xml + rhncfg-manager create-channel --server-name "$RHN_PARENT" \ + rhn_proxy_config_$SYSTEM_ID + rhncfg-manager update --server-name "$RHN_PARENT" \ + --channel=rhn_proxy_config_$SYSTEM_ID \ + $HTTPDCONFD_DIR/ssl.conf \ + $RHNCONF_DIR/rhn.conf \ + $RHNCONF_DIR/cluster.ini \ + /etc/squid/squid.conf \ + $HTTPDCONFD_DIR/cobbler-proxy.conf \ + $HTTPDCONF_DIR/httpd.conf \ + $HTTPDCONFD_DIR/rhn_proxy.conf \ + $HTTPDCONFD_DIR/proxy_broker.conf \ + $HTTPDCONFD_DIR/proxy_redirect.conf \ + $JABBERD_DIR/c2s.xml \ + $JABBERD_DIR/sm.xml fi
echo "Enabling Spacewalk Proxy."
commit 8607736d2cd38687a4540963d676fa2b5b0a09c4 Author: Michael Mraka michael.mraka@redhat.com Date: Sat Mar 28 00:48:03 2009 +0100
replaced /etc/httpd/conf with HTTPDCONF_DIR
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh index 84bbdcf..d9bebfe 100755 --- a/proxy/installer/configure-proxy.sh +++ b/proxy/installer/configure-proxy.sh @@ -91,6 +91,7 @@ if [ -f /usr/bin/yum ]; then fi SYSCONFIG_DIR=/etc/sysconfig/rhn RHNCONF_DIR=/etc/rhn +HTTPDCONF_DIR=/etc/httpd/conf HTTPDCONFD_DIR=/etc/httpd/conf.d HTMLPUB_DIR=/var/www/html/pub JABBERD_DIR=/etc/jabberd @@ -281,8 +282,8 @@ echo "Installing SSL certificate for Apache and Jabberd:" rpm -Uv `/usr/bin/rhn-ssl-tool --gen-server --rpm-only --dir="$SSL_BUILD_DIR" 2>/dev/null |grep noarch.rpm`
mv $HTTPDCONFD_DIR/ssl.conf $HTTPDCONFD_DIR/ssl.conf.bak -sed -e "s|^SSLCertificateFile /etc/pki/tls/certs/localhost.crt$|SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt|g" \ - -e "s|^SSLCertificateKeyFile /etc/pki/tls/private/localhost.key$|SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key|g" \ +sed -e "s|^SSLCertificateFile /etc/pki/tls/certs/localhost.crt$|SSLCertificateFile $HTTPDCONF_DIR/ssl.crt/server.crt|g" \ + -e "s|^SSLCertificateKeyFile /etc/pki/tls/private/localhost.key$|SSLCertificateKeyFile $HTTPDCONF_DIR/ssl.key/server.key|g" \ -e "s|</VirtualHost>|SSLProxyEngine on\n</VirtualHost>|" < $HTTPDCONFD_DIR/ssl.conf.bak > $HTTPDCONFD_DIR/ssl.conf
@@ -294,7 +295,7 @@ if [ "$POPULATE_CONFIG_CHANNEL" = "1" ]; then rhncfg-manager create-channel --server-name "$RHN_PARENT" rhn_proxy_config_$SYSTEM_ID rhncfg-manager update --server-name "$RHN_PARENT" --channel=rhn_proxy_config_$SYSTEM_ID \ $HTTPDCONFD_DIR/ssl.conf $RHNCONF_DIR/rhn.conf $RHNCONF_DIR/cluster.ini /etc/squid/squid.conf \ - $HTTPDCONFD_DIR/cobbler-proxy.conf /etc/httpd/conf/httpd.conf $HTTPDCONFD_DIR/rhn_proxy.conf \ + $HTTPDCONFD_DIR/cobbler-proxy.conf $HTTPDCONF_DIR/httpd.conf $HTTPDCONFD_DIR/rhn_proxy.conf \ $HTTPDCONFD_DIR/proxy_broker.conf $HTTPDCONFD_DIR/proxy_redirect.conf \ $JABBERD_DIR/c2s.xml $JABBERD_DIR/sm.xml fi
commit 562466f5be96fd005206b0f15d6b37824b023376 Author: Michael Mraka michael.mraka@redhat.com Date: Sat Mar 28 00:44:13 2009 +0100
replaced /etc/jabberd with JABBERD_DIR
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh index 450e002..84bbdcf 100755 --- a/proxy/installer/configure-proxy.sh +++ b/proxy/installer/configure-proxy.sh @@ -93,6 +93,8 @@ SYSCONFIG_DIR=/etc/sysconfig/rhn RHNCONF_DIR=/etc/rhn HTTPDCONFD_DIR=/etc/httpd/conf.d HTMLPUB_DIR=/var/www/html/pub +JABBERD_DIR=/etc/jabberd +
SYSTEM_ID=`/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt $SYSCONFIG_DIR/systemid | cut -d- -f2`
@@ -205,8 +207,8 @@ fi # / 1024 is to get value in MB SQUID_SIZE=$(( `df -P /var/spool/squid | awk '{a=$4} END {print a}'` * 60 / 100 / 1024 ))
-sed "s/${session.hostname}/$HOSTNAME/g" < $DIR/c2s.xml > /etc/jabberd/c2s.xml -sed "s/${session.hostname}/$HOSTNAME/g" < $DIR/sm.xml > /etc/jabberd/sm.xml +sed "s/${session.hostname}/$HOSTNAME/g" < $DIR/c2s.xml > $JABBERD_DIR/c2s.xml +sed "s/${session.hostname}/$HOSTNAME/g" < $DIR/sm.xml > $JABBERD_DIR/sm.xml sed "s|cache_dir ufs /var/spool/squid 15000 16 256|cache_dir ufs /var/spool/squid $SQUID_SIZE 16 256|g" \ < $DIR/squid.conf > /etc/squid/squid.conf sed -e "s|${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT}|$CA_CHAIN|g" \ @@ -294,7 +296,7 @@ if [ "$POPULATE_CONFIG_CHANNEL" = "1" ]; then $HTTPDCONFD_DIR/ssl.conf $RHNCONF_DIR/rhn.conf $RHNCONF_DIR/cluster.ini /etc/squid/squid.conf \ $HTTPDCONFD_DIR/cobbler-proxy.conf /etc/httpd/conf/httpd.conf $HTTPDCONFD_DIR/rhn_proxy.conf \ $HTTPDCONFD_DIR/proxy_broker.conf $HTTPDCONFD_DIR/proxy_redirect.conf \ - /etc/jabberd/c2s.xml /etc/jabberd/sm.xml + $JABBERD_DIR/c2s.xml $JABBERD_DIR/sm.xml fi
echo "Enabling Spacewalk Proxy."
commit 0b1bce2eef8c3b0681956527e7714326c4a1493d Author: Michael Mraka michael.mraka@redhat.com Date: Sat Mar 28 00:41:50 2009 +0100
cat | sed is rarely needed
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh index dfd5b40..450e002 100755 --- a/proxy/installer/configure-proxy.sh +++ b/proxy/installer/configure-proxy.sh @@ -205,12 +205,11 @@ fi # / 1024 is to get value in MB SQUID_SIZE=$(( `df -P /var/spool/squid | awk '{a=$4} END {print a}'` * 60 / 100 / 1024 ))
-cat $DIR/c2s.xml | sed "s/${session.hostname}/$HOSTNAME/g" > /etc/jabberd/c2s.xml -cat $DIR/sm.xml | sed "s/${session.hostname}/$HOSTNAME/g" > /etc/jabberd/sm.xml -cat $DIR/squid.conf | sed "s|cache_dir ufs /var/spool/squid 15000 16 256|cache_dir ufs /var/spool/squid $SQUID_SIZE 16 256|g" \ - > /etc/squid/squid.conf -cat $DIR/rhn.conf | \ - sed -e "s|${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT}|$CA_CHAIN|g" \ +sed "s/${session.hostname}/$HOSTNAME/g" < $DIR/c2s.xml > /etc/jabberd/c2s.xml +sed "s/${session.hostname}/$HOSTNAME/g" < $DIR/sm.xml > /etc/jabberd/sm.xml +sed "s|cache_dir ufs /var/spool/squid 15000 16 256|cache_dir ufs /var/spool/squid $SQUID_SIZE 16 256|g" \ + < $DIR/squid.conf > /etc/squid/squid.conf +sed -e "s|${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT}|$CA_CHAIN|g" \ -e "s/${session.http_proxy}/$HTTP_PROXY/g" \ -e "s/${session.http_proxy_username}/$HTTP_USERNAME/g" \ -e "s/${session.http_proxy_password}/$HTTP_PASSWORD/g" \ @@ -218,13 +217,12 @@ cat $DIR/rhn.conf | \ -e "s/${session.traceback_mail}/$TRACEBACK_EMAIL/g" \ -e "s/${session.use_ssl:0}/$USE_SSL/g" \ -e "s/${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \ - > $RHNCONF_DIR/rhn.conf -cat $DIR/cluster.ini | \ - sed -e "s/${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \ + < $DIR/rhn.conf > $RHNCONF_DIR/rhn.conf +sed -e "s/${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \ -e "s/${session.rhn_monitoring_parent_ip}/$MONITORING_PARENT_IP/g" \ -e "s/${session.rhn_monitoring_parent}/$MONITORING_PARENT/g" \ -e "s/${session.scout_shared_key}/$SCOUT_SHARED_KEY/g" \ - > $RHNCONF_DIR/cluster.ini + < cat $DIR/cluster.ini > $RHNCONF_DIR/cluster.ini
#Setup the cobbler stuff, needed to use koan through a proxy @@ -281,10 +279,10 @@ echo "Installing SSL certificate for Apache and Jabberd:" rpm -Uv `/usr/bin/rhn-ssl-tool --gen-server --rpm-only --dir="$SSL_BUILD_DIR" 2>/dev/null |grep noarch.rpm`
mv $HTTPDCONFD_DIR/ssl.conf $HTTPDCONFD_DIR/ssl.conf.bak -cat $HTTPDCONFD_DIR/ssl.conf.bak | \ - sed -e "s|^SSLCertificateFile /etc/pki/tls/certs/localhost.crt$|SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt|g" \ +sed -e "s|^SSLCertificateFile /etc/pki/tls/certs/localhost.crt$|SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt|g" \ -e "s|^SSLCertificateKeyFile /etc/pki/tls/private/localhost.key$|SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key|g" \ - -e "s|</VirtualHost>|SSLProxyEngine on\n</VirtualHost>|" > $HTTPDCONFD_DIR/ssl.conf + -e "s|</VirtualHost>|SSLProxyEngine on\n</VirtualHost>|" + < $HTTPDCONFD_DIR/ssl.conf.bak > $HTTPDCONFD_DIR/ssl.conf
CHANNEL_LABEL="rhn_proxy_config_$SYSTEM_ID"
commit adbbdbdc947df94740c921090810de1442bf318d Author: Michael Mraka michael.mraka@redhat.com Date: Sat Mar 28 00:34:39 2009 +0100
replace sed |sed | sed | ... with only one sed -e -e -e
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh index efce6c5..dfd5b40 100755 --- a/proxy/installer/configure-proxy.sh +++ b/proxy/installer/configure-proxy.sh @@ -209,19 +209,21 @@ cat $DIR/c2s.xml | sed "s/${session.hostname}/$HOSTNAME/g" > /etc/jabberd/c2s. cat $DIR/sm.xml | sed "s/${session.hostname}/$HOSTNAME/g" > /etc/jabberd/sm.xml cat $DIR/squid.conf | sed "s|cache_dir ufs /var/spool/squid 15000 16 256|cache_dir ufs /var/spool/squid $SQUID_SIZE 16 256|g" \ > /etc/squid/squid.conf -cat $DIR/rhn.conf | sed "s|${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT}|$CA_CHAIN|g" \ - | sed "s/${session.http_proxy}/$HTTP_PROXY/g" \ - | sed "s/${session.http_proxy_username}/$HTTP_USERNAME/g" \ - | sed "s/${session.http_proxy_password}/$HTTP_PASSWORD/g" \ - | sed "s/${session.rhn_parent}/$RHN_PARENT/g" \ - | sed "s/${session.traceback_mail}/$TRACEBACK_EMAIL/g" \ - | sed "s/${session.use_ssl:0}/$USE_SSL/g" \ - | sed "s/${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \ +cat $DIR/rhn.conf | \ + sed -e "s|${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT}|$CA_CHAIN|g" \ + -e "s/${session.http_proxy}/$HTTP_PROXY/g" \ + -e "s/${session.http_proxy_username}/$HTTP_USERNAME/g" \ + -e "s/${session.http_proxy_password}/$HTTP_PASSWORD/g" \ + -e "s/${session.rhn_parent}/$RHN_PARENT/g" \ + -e "s/${session.traceback_mail}/$TRACEBACK_EMAIL/g" \ + -e "s/${session.use_ssl:0}/$USE_SSL/g" \ + -e "s/${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \ > $RHNCONF_DIR/rhn.conf -cat $DIR/cluster.ini | sed "s/${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \ - | sed "s/${session.rhn_monitoring_parent_ip}/$MONITORING_PARENT_IP/g" \ - | sed "s/${session.rhn_monitoring_parent}/$MONITORING_PARENT/g" \ - | sed "s/${session.scout_shared_key}/$SCOUT_SHARED_KEY/g" \ +cat $DIR/cluster.ini | \ + sed -e "s/${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \ + -e "s/${session.rhn_monitoring_parent_ip}/$MONITORING_PARENT_IP/g" \ + -e "s/${session.rhn_monitoring_parent}/$MONITORING_PARENT/g" \ + -e "s/${session.scout_shared_key}/$SCOUT_SHARED_KEY/g" \ > $RHNCONF_DIR/cluster.ini
@@ -279,10 +281,10 @@ echo "Installing SSL certificate for Apache and Jabberd:" rpm -Uv `/usr/bin/rhn-ssl-tool --gen-server --rpm-only --dir="$SSL_BUILD_DIR" 2>/dev/null |grep noarch.rpm`
mv $HTTPDCONFD_DIR/ssl.conf $HTTPDCONFD_DIR/ssl.conf.bak -cat $HTTPDCONFD_DIR/ssl.conf.bak \ - | sed "s|^SSLCertificateFile /etc/pki/tls/certs/localhost.crt$|SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt|g" \ - | sed "s|^SSLCertificateKeyFile /etc/pki/tls/private/localhost.key$|SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key|g" \ - | sed "s|</VirtualHost>|SSLProxyEngine on\n</VirtualHost>|" > $HTTPDCONFD_DIR/ssl.conf +cat $HTTPDCONFD_DIR/ssl.conf.bak | \ + sed -e "s|^SSLCertificateFile /etc/pki/tls/certs/localhost.crt$|SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt|g" \ + -e "s|^SSLCertificateKeyFile /etc/pki/tls/private/localhost.key$|SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key|g" \ + -e "s|</VirtualHost>|SSLProxyEngine on\n</VirtualHost>|" > $HTTPDCONFD_DIR/ssl.conf
CHANNEL_LABEL="rhn_proxy_config_$SYSTEM_ID"
commit 4d331d61b1da51824bf951f8a6941d9cbfefa321 Author: Michael Mraka michael.mraka@redhat.com Date: Sat Mar 28 00:28:41 2009 +0100
replaced /var/www/html/pub with HTMLPUB_DIR
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh index efa67c8..efce6c5 100755 --- a/proxy/installer/configure-proxy.sh +++ b/proxy/installer/configure-proxy.sh @@ -92,6 +92,7 @@ fi SYSCONFIG_DIR=/etc/sysconfig/rhn RHNCONF_DIR=/etc/rhn HTTPDCONFD_DIR=/etc/httpd/conf.d +HTMLPUB_DIR=/var/www/html/pub
SYSTEM_ID=`/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt $SYSCONFIG_DIR/systemid | cut -d- -f2`
@@ -262,9 +263,9 @@ if [ ! -f $SSL_BUILD_DIR/$RPM_CA ]; then RPM_CA=`grep noarch $SSL_BUILD_DIR/latest.txt` fi
-if [ ! -f /var/www/html/pub/$RPM_CA ] || [ ! -f /var/www/html/pub/RHN-ORG-TRUSTED-SSL-CERT ]; then - echo "Copying CA public certificate to /var/www/html/pub for distribution to clients:" - cp $SSL_BUILD_DIR/RHN-ORG-TRUSTED-SSL-CERT $SSL_BUILD_DIR/$RPM_CA /var/www/html/pub/ +if [ ! -f $HTMLPUB_DIR/$RPM_CA ] || [ ! -f $HTMLPUB_DIR/RHN-ORG-TRUSTED-SSL-CERT ]; then + echo "Copying CA public certificate to $HTMLPUB_DIR for distribution to clients:" + cp $SSL_BUILD_DIR/RHN-ORG-TRUSTED-SSL-CERT $SSL_BUILD_DIR/$RPM_CA $HTMLPUB_DIR/ fi
echo "Generating SSL key and public certificate:"
commit 46a978924da8b8b8c4d41f4d70de6b78ba6f5983 Author: Michael Mraka michael.mraka@redhat.com Date: Sat Mar 28 00:24:53 2009 +0100
replace /etc/httpd/conf.d with HTTPDCONFD_DIR
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh index a2f5caa..efa67c8 100755 --- a/proxy/installer/configure-proxy.sh +++ b/proxy/installer/configure-proxy.sh @@ -91,6 +91,7 @@ if [ -f /usr/bin/yum ]; then fi SYSCONFIG_DIR=/etc/sysconfig/rhn RHNCONF_DIR=/etc/rhn +HTTPDCONFD_DIR=/etc/httpd/conf.d
SYSTEM_ID=`/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt $SYSCONFIG_DIR/systemid | cut -d- -f2`
@@ -228,8 +229,8 @@ PROTO="http"; if [ $USE_SSL -eq 1 ]; then PROTO="https" fi -echo "ProxyPass /cobbler_api $PROTO://$RHN_PARENT/cobbler_api" > /etc/httpd/conf.d/cobbler-proxy.conf -echo "ProxyPassReverse /cobbler_api $PROTO://$RHN_PARENT/cobbler_api" >> /etc/httpd/conf.d/cobbler-proxy.conf +echo "ProxyPass /cobbler_api $PROTO://$RHN_PARENT/cobbler_api" > $HTTPDCONFD_DIR/cobbler-proxy.conf +echo "ProxyPassReverse /cobbler_api $PROTO://$RHN_PARENT/cobbler_api" >> $HTTPDCONFD_DIR/cobbler-proxy.conf
# lets do SSL stuff SSL_BUILD_DIR="/root/ssl-build" @@ -276,11 +277,11 @@ config_error $? "SSL key generation failed!" echo "Installing SSL certificate for Apache and Jabberd:" rpm -Uv `/usr/bin/rhn-ssl-tool --gen-server --rpm-only --dir="$SSL_BUILD_DIR" 2>/dev/null |grep noarch.rpm`
-mv /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.bak -cat /etc/httpd/conf.d/ssl.conf.bak \ +mv $HTTPDCONFD_DIR/ssl.conf $HTTPDCONFD_DIR/ssl.conf.bak +cat $HTTPDCONFD_DIR/ssl.conf.bak \ | sed "s|^SSLCertificateFile /etc/pki/tls/certs/localhost.crt$|SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt|g" \ | sed "s|^SSLCertificateKeyFile /etc/pki/tls/private/localhost.key$|SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key|g" \ - | sed "s|</VirtualHost>|SSLProxyEngine on\n</VirtualHost>|" > /etc/httpd/conf.d/ssl.conf + | sed "s|</VirtualHost>|SSLProxyEngine on\n</VirtualHost>|" > $HTTPDCONFD_DIR/ssl.conf
CHANNEL_LABEL="rhn_proxy_config_$SYSTEM_ID" @@ -289,9 +290,9 @@ POPULATE_CONFIG_CHANNEL=$(yes_no $POPULATE_CONFIG_CHANNEL) if [ "$POPULATE_CONFIG_CHANNEL" = "1" ]; then rhncfg-manager create-channel --server-name "$RHN_PARENT" rhn_proxy_config_$SYSTEM_ID rhncfg-manager update --server-name "$RHN_PARENT" --channel=rhn_proxy_config_$SYSTEM_ID \ - /etc/httpd/conf.d/ssl.conf $RHNCONF_DIR/rhn.conf $RHNCONF_DIR/cluster.ini /etc/squid/squid.conf \ - /etc/httpd/conf.d/cobbler-proxy.conf /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/rhn_proxy.conf \ - /etc/httpd/conf.d/proxy_broker.conf /etc/httpd/conf.d/proxy_redirect.conf \ + $HTTPDCONFD_DIR/ssl.conf $RHNCONF_DIR/rhn.conf $RHNCONF_DIR/cluster.ini /etc/squid/squid.conf \ + $HTTPDCONFD_DIR/cobbler-proxy.conf /etc/httpd/conf/httpd.conf $HTTPDCONFD_DIR/rhn_proxy.conf \ + $HTTPDCONFD_DIR/proxy_broker.conf $HTTPDCONFD_DIR/proxy_redirect.conf \ /etc/jabberd/c2s.xml /etc/jabberd/sm.xml fi
commit 33d7ea9ef9366ca14c42c2fd7596258047f92ca6 Author: Michael Mraka michael.mraka@redhat.com Date: Sat Mar 28 00:21:48 2009 +0100
replace /etc/rhn with RHNCONF_DIR
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh index 5ae3bc4..a2f5caa 100755 --- a/proxy/installer/configure-proxy.sh +++ b/proxy/installer/configure-proxy.sh @@ -90,6 +90,7 @@ if [ -f /usr/bin/yum ]; then [ "$INTERACTIVE" = "0" ] && YUM_OR_UPDATE="$YUM_OR_UPDATE -y" fi SYSCONFIG_DIR=/etc/sysconfig/rhn +RHNCONF_DIR=/etc/rhn
SYSTEM_ID=`/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt $SYSCONFIG_DIR/systemid | cut -d- -f2`
@@ -192,7 +193,7 @@ if [ $MONITORING -eq 0 ]; then default_or_input "Monitoring parent IP" MONITORING_PARENT_IP "$RESOLVED_IP" default_or_input "Enable monitoring scout" ENABLE_SCOUT "Y/n" ENABLE_SCOUT=$(yes_no $ENABLE_SCOUT) - MSG=$(echo -n "Your scout shared key (can be found on parent\nin /etc/rhn/cluster.ini as key scoutsharedkey)") + MSG=$(echo -n "Your scout shared key (can be found on parent\nin $RHNCONF_DIR/cluster.ini as key scoutsharedkey)") default_or_input "$MSG" SCOUT_SHARED_KEY '' fi
@@ -214,12 +215,12 @@ cat $DIR/rhn.conf | sed "s|${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT}|$CA_ | sed "s/${session.traceback_mail}/$TRACEBACK_EMAIL/g" \ | sed "s/${session.use_ssl:0}/$USE_SSL/g" \ | sed "s/${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \ - > /etc/rhn/rhn.conf + > $RHNCONF_DIR/rhn.conf cat $DIR/cluster.ini | sed "s/${session.enable_monitoring_scout:0}/$ENABLE_SCOUT/g" \ | sed "s/${session.rhn_monitoring_parent_ip}/$MONITORING_PARENT_IP/g" \ | sed "s/${session.rhn_monitoring_parent}/$MONITORING_PARENT/g" \ | sed "s/${session.scout_shared_key}/$SCOUT_SHARED_KEY/g" \ - > /etc/rhn/cluster.ini + > $RHNCONF_DIR/cluster.ini
#Setup the cobbler stuff, needed to use koan through a proxy @@ -288,7 +289,7 @@ POPULATE_CONFIG_CHANNEL=$(yes_no $POPULATE_CONFIG_CHANNEL) if [ "$POPULATE_CONFIG_CHANNEL" = "1" ]; then rhncfg-manager create-channel --server-name "$RHN_PARENT" rhn_proxy_config_$SYSTEM_ID rhncfg-manager update --server-name "$RHN_PARENT" --channel=rhn_proxy_config_$SYSTEM_ID \ - /etc/httpd/conf.d/ssl.conf /etc/rhn/rhn.conf /etc/rhn/cluster.ini /etc/squid/squid.conf \ + /etc/httpd/conf.d/ssl.conf $RHNCONF_DIR/rhn.conf $RHNCONF_DIR/cluster.ini /etc/squid/squid.conf \ /etc/httpd/conf.d/cobbler-proxy.conf /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/rhn_proxy.conf \ /etc/httpd/conf.d/proxy_broker.conf /etc/httpd/conf.d/proxy_redirect.conf \ /etc/jabberd/c2s.xml /etc/jabberd/sm.xml
commit 9b590abafa9891a662cdfa62d530e778d328c78a Author: Michael Mraka michael.mraka@redhat.com Date: Sat Mar 28 00:17:42 2009 +0100
replace /etc/sysconfig/rhn with $SYSCONFIG_DIR
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh index e1070d1..5ae3bc4 100755 --- a/proxy/installer/configure-proxy.sh +++ b/proxy/installer/configure-proxy.sh @@ -89,15 +89,16 @@ if [ -f /usr/bin/yum ]; then # add -y for non-interactive installation [ "$INTERACTIVE" = "0" ] && YUM_OR_UPDATE="$YUM_OR_UPDATE -y" fi +SYSCONFIG_DIR=/etc/sysconfig/rhn
-SYSTEM_ID=`/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt /etc/sysconfig/rhn/systemid | cut -d- -f2` +SYSTEM_ID=`/usr/bin/xsltproc /usr/share/rhn/get_system_id.xslt $SYSCONFIG_DIR/systemid | cut -d- -f2`
DIR=/usr/share/doc/proxy/conf-template HOSTNAME=`hostname`
default_or_input "Proxy version to activate" VERSION $(rpm -q --queryformat %{version} spacewalk-proxy-installer|cut -d. -f1-2)
-default_or_input "RHN Parent" RHN_PARENT $(awk -F= '/serverURL=/ {split($2, a, "/")} END { print a[3]}' /etc/sysconfig/rhn/up2date) +default_or_input "RHN Parent" RHN_PARENT $(awk -F= '/serverURL=/ {split($2, a, "/")} END { print a[3]}' $SYSCONFIG_DIR/up2date)
if [ "$RHN_PARENT" == "rhn.redhat.com" ]; then RHN_PARENT="xmlrpc.rhn.redhat.com" @@ -112,7 +113,7 @@ default_or_input "Traceback email" TRACEBACK_EMAIL '' default_or_input "Use SSL" USE_SSL 'Y/n' USE_SSL=$(yes_no $USE_SSL)
-default_or_input "CA Chain" CA_CHAIN $(awk -F'[=;]' '/sslCACert=/ {a=$2} END { print a}' /etc/sysconfig/rhn/up2date) +default_or_input "CA Chain" CA_CHAIN $(awk -F'[=;]' '/sslCACert=/ {a=$2} END { print a}' $SYSCONFIG_DIR/up2date)
if ! /sbin/runuser apache -s /bin/sh --command="[ -r $CA_CHAIN ]" ; then echo Error: File $CA_CHAIN is not readable by apache user.
commit 5ee5023293c03958f00d8dc1337ad9f25d92f518 Author: Michael Mraka michael.mraka@redhat.com Date: Sat Mar 28 00:08:25 2009 +0100
call set | grep only once
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh index 036f3e7..e1070d1 100755 --- a/proxy/installer/configure-proxy.sh +++ b/proxy/installer/configure-proxy.sh @@ -46,10 +46,12 @@ default_or_input () { #var_a=${var_b:-word} #which is like: var_a = $var_b ? word DEFAULT=${CURRENT_VALUE:-$DEFAULT} + local VARIABLE_ISSET=$(set | grep "^$VARIABLE=") + echo -n "$MSG [$DEFAULT]: " - if [ "$INTERACTIVE" = "1" -a -z "`set | grep "^$VARIABLE="`" ]; then + if [ "$INTERACTIVE" = "1" -a -z "$VARIABLE_ISSET" ]; then read INPUT - elif [ -z "`set | grep "^$VARIABLE="`" ]; then + elif [ -z "$VARIABLE_ISSET" ]; then echo $DEFAULT else eval "DEFAULT=$$VARIABLE"
commit 0ac211ebe2be23ef7b25ef71be232b06a4368813 Author: Mike McCune mmccune@gmail.com Date: Fri Mar 27 16:19:50 2009 -0700
checkstyle
diff --git a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java index 9e601c9..9c0aecc 100644 --- a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java +++ b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java @@ -24,6 +24,8 @@ import com.redhat.rhn.frontend.struts.RequestContext; * the data to show on the page. * <p/> * See the Spacewalk wiki for more information on how to work with ListTag 3.0. + * + * @version $Rev$ */ public interface Listable {
commit 71c5cc32dbad3e93a3980046766277b69eb4e1c7 Author: Justin Sherrill jsherril@redhat.com Date: Fri Mar 27 17:05:50 2009 -0400
fixing unit test and removing unneeded strust entry
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataActionTest.java index 775ae7a..bf78a46 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataActionTest.java +++ b/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataActionTest.java @@ -50,8 +50,8 @@ public class CloneErrataActionTest extends RhnMockStrutsTestCase {
request.addParameter("dispatch", "Clone Errata"); actionPerform(); - verifyForwardPath("/errata/manage/CloneErrata.do?channel="); - verifyActionMessage("errata.applynone"); + verifyForwardPath("/errata/manage/CloneErrata.do"); + verifyActionMessage("emptyselectionerror"); }
public void testNonEmptySet() throws Exception { @@ -76,6 +76,6 @@ public class CloneErrataActionTest extends RhnMockStrutsTestCase { request.addParameter("dispatch", "Clone Errata");
actionPerform(); - verifyForward("clone"); + verifyForward("default"); } } diff --git a/java/code/webapp/WEB-INF/struts-config.xml b/java/code/webapp/WEB-INF/struts-config.xml index 068e5ad..eb5f5ad 100644 --- a/java/code/webapp/WEB-INF/struts-config.xml +++ b/java/code/webapp/WEB-INF/struts-config.xml @@ -1847,22 +1847,6 @@ <forward name="continue" path="/errata/manage/CloneConfirm.do" redirect="true" /> </action> - - <action path="/errata/manage/CloneErrataSubmit" - scope="request" - name="cloneErrataForm" - input="/WEB-INF/pages/errata/cloneerrata.jsp" - parameter="dispatch" - type="com.redhat.rhn.frontend.action.errata.CloneErrataAction" - className="com.redhat.rhn.frontend.struts.RhnActionMapping"> - <set-property property="acls" value="user_role(channel_admin)"/> - <forward name="default" - path="/errata/manage/CloneErrata.do" redirect="true"/> - <forward name="error" - path="/WEB-INF/pages/errata/cloneerrata.jsp" /> - <forward name= "clone" - path="/errata/manage/CloneConfirm.do" redirect="true" /> - </action>
<action path="/errata/manage/CloneConfirm" scope="request"
commit c9d135934f1e2e4ae1c81ed6459814cfdec15017 Author: Jason Dobies jason.dobies@redhat.com Date: Fri Mar 27 17:02:53 2009 -0500
Updated docs
diff --git a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java index ac981e6..9e601c9 100644 --- a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java +++ b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/Listable.java @@ -15,21 +15,24 @@
package com.redhat.rhn.frontend.taglibs.list.helper;
-import com.redhat.rhn.frontend.struts.RequestContext; - import java.util.List; +import com.redhat.rhn.frontend.struts.RequestContext;
/** - * - * @author paji - * Listable - * @version $Rev$ + * Interface used to tie an action into ListTag 3.0 (known for a while as "new List Tag"). + * This interface allows the List*Helper classes to interact with the action to retrieve + * the data to show on the page. + * <p/> + * See the Spacewalk wiki for more information on how to work with ListTag 3.0. */ public interface Listable { + /** - * The dataresult associated to a set - * @param context the request context - * @return a List of Selectable or Identifiable objects + * Returns the data to display on the web page. + * + * @param context the request context; will not be <code>null</code> + * @return a List of {@link com.redhat.rhn.frontend.struts.Selectable} or + * {@link com.redhat.rhn.domain.Identifiable} objects. */ List getResult(RequestContext context); }
commit ed01429526233dfaa4314d917e79c0484a11f934 Author: Justin Sherrill jsherril@redhat.com Date: Fri Mar 27 16:42:39 2009 -0400
couple of unit test fixes
diff --git a/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java index 23b344f..b41ac58 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java +++ b/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java @@ -23,6 +23,7 @@ import com.redhat.rhn.domain.server.Server; import com.redhat.rhn.domain.server.test.ServerFactoryTest; import com.redhat.rhn.frontend.action.systems.monitoring.ProbesListSetupAction; import com.redhat.rhn.frontend.dto.monitoring.ServerProbeDto; +import com.redhat.rhn.frontend.taglibs.list.helper.ListHelper; import com.redhat.rhn.manager.monitoring.MonitoringManager; import com.redhat.rhn.testing.ActionHelper; import com.redhat.rhn.testing.RhnBaseTestCase; @@ -55,8 +56,8 @@ public class ProbesListSetupActionTest extends RhnBaseTestCase { ah.setupClampListBounds(); ActionForward af = ah.executeAction(); assertEquals("default", af.getName()); - assertNotNull(ah.getRequest().getAttribute("pageList")); - DataResult dr = (DataResult) ah.getRequest().getAttribute("pageList"); + DataResult dr = (DataResult) ah.getRequest().getAttribute(ListHelper.DATA_SET); + assertNotNull(dr); assertTrue(dr.size() > 0); assertTrue(dr.getStart() == 1); assertTrue(dr.getEnd() > 0); @@ -85,7 +86,7 @@ public class ProbesListSetupActionTest extends RhnBaseTestCase { ah.setupClampListBounds(); ActionForward af = ah.executeAction(); assertEquals("default", af.getName()); - DataResult dr = (DataResult) ah.getRequest().getAttribute("pageList"); + DataResult dr = (DataResult) ah.getRequest().getAttribute(ListHelper.DATA_SET); assertTrue(dr.size() == 0); }
diff --git a/java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataActionTest.java index d167ebc..3db6ecb 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataActionTest.java +++ b/java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataActionTest.java @@ -14,6 +14,7 @@ */ package com.redhat.rhn.frontend.action.systems.test;
+import com.redhat.rhn.common.localization.LocalizationService; import com.redhat.rhn.domain.channel.Channel; import com.redhat.rhn.domain.channel.ChannelFactory; import com.redhat.rhn.domain.channel.test.ChannelFactoryTest; @@ -56,7 +57,8 @@ public class ErrataActionTest extends RhnMockStrutsTestCase { String pathInfo = "/systems/details/ErrataList"; setRequestPathInfo(pathInfo); addSubmitted(); - addRequestParameter(RequestContext.DISPATCH, Boolean.toString(true)); + addRequestParameter(RequestContext.DISPATCH, + LocalizationService.getInstance().getMessage("errata.jsp.apply"));
// Create System Server server = ServerFactoryTest.createTestServer(user, true);
commit bbfd3c824c4760447c9f10e24eadf4113fa51651 Author: Mike McCune mmccune@gmail.com Date: Fri Mar 27 13:17:37 2009 -0700
test commit
diff --git a/playpen/README b/playpen/README index c177a97..1b6100b 100644 --- a/playpen/README +++ b/playpen/README @@ -1 +1,3 @@ directory to hold prototype projects. + +none of this stuff gets shipped with spacewalk RPMs.
commit fce84153ee10641474969c062ca01d647199bf46 Author: Justin Sherrill jsherril@redhat.com Date: Fri Mar 27 16:09:42 2009 -0400
unit test fix
diff --git a/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java index a89ba4e..23b344f 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java +++ b/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/test/ProbesListSetupActionTest.java @@ -85,7 +85,6 @@ public class ProbesListSetupActionTest extends RhnBaseTestCase { ah.setupClampListBounds(); ActionForward af = ah.executeAction(); assertEquals("default", af.getName()); - assertNotNull(ah.getRequest().getAttribute("pageList")); DataResult dr = (DataResult) ah.getRequest().getAttribute("pageList"); assertTrue(dr.size() == 0); }
commit 98c6b6f4c4698aef8bfe2a70a827a46eb5ae9b47 Author: Justin Sherrill jsherril@redhat.com Date: Fri Mar 27 15:54:19 2009 -0400
144325 - converting system probe list to the new list tag, featuring all the bells and whistles the new list tag has to offer
diff --git a/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/ProbesListSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/ProbesListSetupAction.java index 4c43361..deeb922 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/ProbesListSetupAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/systems/monitoring/ProbesListSetupAction.java @@ -14,34 +14,59 @@ */ package com.redhat.rhn.frontend.action.systems.monitoring;
-import com.redhat.rhn.common.db.datasource.DataResult; import com.redhat.rhn.domain.server.Server; -import com.redhat.rhn.frontend.listview.PageControl; -import com.redhat.rhn.frontend.struts.BaseListAction; import com.redhat.rhn.frontend.struts.RequestContext; +import com.redhat.rhn.frontend.struts.RhnAction; +import com.redhat.rhn.frontend.taglibs.list.helper.ListHelper; +import com.redhat.rhn.frontend.taglibs.list.helper.Listable; import com.redhat.rhn.manager.monitoring.MonitoringManager;
+import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; + +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + /** * ProbesListSetupAction * @version $Rev: 59372 $ */ -public class ProbesListSetupAction extends BaseListAction { - - protected DataResult getDataResult(RequestContext rctx, PageControl pc) { - DataResult dr; - Server server = rctx.lookupAndBindServer(); - // Null page control, we dont paginate this list. - dr = MonitoringManager.getInstance(). - probesForSystem(rctx.getCurrentUser(), server, null); - return dr; +public class ProbesListSetupAction extends RhnAction implements Listable { + + /** + * + * {@inheritDoc} + */ + public ActionForward execute(ActionMapping mapping, + ActionForm formIn, + HttpServletRequest request, + HttpServletResponse response) { + + ListHelper helper = new ListHelper(this, request); + helper.execute(); + + RequestContext requestContext = new RequestContext(request); + Server server = requestContext.lookupAndBindServer(); + + request.setAttribute("sid", server.getId()); + return mapping.findForward("default"); }
+ + + /** + * * {@inheritDoc} */ - protected void processRequestAttributes(RequestContext rctx) { - super.processRequestAttributes(rctx); - rctx.lookupAndBindServer(); + public List getResult(RequestContext rctx) { + Server server = rctx.lookupAndBindServer(); + return MonitoringManager.getInstance(). + probesForSystem(rctx.getCurrentUser(), server, null); } + }
diff --git a/java/code/webapp/WEB-INF/pages/systems/probes/index.jsp b/java/code/webapp/WEB-INF/pages/systems/probes/index.jsp index ba623b5..82993f6 100644 --- a/java/code/webapp/WEB-INF/pages/systems/probes/index.jsp +++ b/java/code/webapp/WEB-INF/pages/systems/probes/index.jsp @@ -4,6 +4,7 @@ <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib uri="http://rhn.redhat.com/tags/list" prefix="rl" %>
html:xhtml/ <html> @@ -31,26 +32,64 @@ </p> </div>
-<rhn:list pageList="${requestScope.pageList}" noDataText="probes.index.jsp.noprobes" legend="probes-list"> - <rhn:listdisplay set="${requestScope.set}" exportColumns="id,description,stateString,stateOutputString" - hiddenvars="${requestScope.newset}"> - <%@ include file="/WEB-INF/pages/common/fragments/probes/probe-state-column.jspf" %> - <rhn:column header="probes.index.jsp.description" nowrap="nowrap"> - <a href="ProbeDetails.do?probe_id=${current.id}&sid=${system.id}">${current.description}</A> - </rhn:column> - <rhn:column header="probes.index.jsp.status" sortProperty="stateOutputString"> - ${current.stateOutputString} - </rhn:column> - <rhn:column header="probes.index.jsp.type"> - <c:if test="${current.isSuiteProbe}"> - <a title='<bean:message key="probes.index.jsp.suiteedit"/>' href="/rhn/monitoring/config/ProbeSuiteProbeEdit.do?suite_id=${current.probeSuiteId}&probe_id=${current.id}"><bean:message key="probes.index.jsp.suite"/></a> - </c:if> - <c:if test="${not current.isSuiteProbe}"> - <a title='<bean:message key="probes.index.jsp.systemedit"/>' href="ProbeEdit.do?probe_id=${current.id}&sid=${system.id}"><bean:message key="probes.index.jsp.system"/></a> - </c:if> - </rhn:column> - </rhn:listdisplay> -</rhn:list> + +<rl:listset name="probeSet"> + +<rl:list emptykey="probes.index.jsp.noprobes" + alphabarcolumn="description" + styleclass="list" + > + <rl:decorator name="PageSizeDecorator"/> + <rl:decorator name="ElaborationDecorator"/> + + <%@ include file="/WEB-INF/pages/common/fragments/probes/probe-state-column-new.jspf" %> + + + <rl:column sortable="true" + bound="false" + headerkey="probes.index.jsp.description" + sortattr="description" + defaultsort="asc" + filterattr="description" + > + <a href="ProbeDetails.do?probe_id=${current.id}&sid=${system.id}">${current.description}</a> + </rl:column> + + <rl:column sortable="true" + bound="false" + headerkey="probes.index.jsp.status" + sortattr="stateOutputString"> + ${current.stateOutputString} + </rl:column> + + <rl:column sortable="false" + bound="false" + headerkey="probes.index.jsp.type" + styleclass="last-column" + > + <c:if test="${current.isSuiteProbe}"> + <a title='<bean:message key="probes.index.jsp.suiteedit"/>' href="/rhn/monitoring/config/ProbeSuiteProbeEdit.do?suite_id=${current.probeSuiteId}&probe_id=${current.id}"><bean:message key="probes.index.jsp.suite"/></a> + </c:if> + <c:if test="${not current.isSuiteProbe}"> + <a title='<bean:message key="probes.index.jsp.systemedit"/>' href="ProbeEdit.do?probe_id=${current.id}&sid=${system.id}"><bean:message key="probes.index.jsp.system"/></a> + </c:if> + </rl:column> + + + +</rl:list> + <input type="hidden" name="sid" value="${sid}" /> + <rl:csv exportColumns="id,description,stateString,stateOutputString"/> +</rl:listset> + + + + + + + + +
</body>
commit 665d4b9752ffaea1833f1a66c8536aed11342646 Author: Dennis Gilmore dennis@ausil.us Date: Fri Mar 27 14:18:08 2009 -0500
fix up copyright dates in tito
diff --git a/rel-eng/bin/tito b/rel-eng/bin/tito index e787098..c1cbfe3 100755 --- a/rel-eng/bin/tito +++ b/rel-eng/bin/tito @@ -1,6 +1,6 @@ #!/usr/bin/python # -# Copyright (c) 2008 Red Hat, Inc. +# Copyright (c) 2008,2009 Red Hat, Inc. # # This software is licensed to you under the GNU General Public License, # version 2 (GPLv2). There is NO WARRANTY for this software, express or
commit 0f3022475c48f0978f8847b7ba5639b0fbff1160 Author: Justin Sherrill jsherril@redhat.com Date: Fri Mar 27 14:25:01 2009 -0400
492478 - modifying the system applicable errata page so that you can filter on the type of errata you want to see, also linking a couple of critical errata links to only show the critical ones, instead of all of them
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml index f3dbebb..76faf7f 100644 --- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml +++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml @@ -81,27 +81,52 @@ SELECT DISTINCT E.id, E.update_date, AND SNEC.errata_id = E.id ORDER BY E.update_date DESC, E.id </query> - <elaborator params="sid" multiple="t"> -SELECT DISTINCT AEU.errata_id AS id, - AST.name AS status, - SA.action_id - FROM rhnActionErrataUpdate AEU, - rhnServerAction SA, - rhnActionStatus AST - WHERE SA.server_id = :sid - AND SA.action_id = AEU.action_id - AND AEU.errata_id IN (%s) - AND AST.id = SA.status - AND NOT ( EXISTS ( SELECT 1 FROM rhnServerNeededErrataCache - WHERE server_id = SA.server_id - AND errata_id = AEU.errata_id - ) - AND AST.name = 'Completed' -- filter out rolled back status - ) - </elaborator> + <elaborator name="relevant_elab" /> <elaborator name="errata_overview" /> </mode>
+<mode name="relevant_to_system_by_types" class="com.redhat.rhn.frontend.dto.ErrataOverview"> + <query params="user_id, sid"> +SELECT DISTINCT E.id, E.update_date, + E.synopsis AS ADVISORY_SYNOPSIS, + E.advisory_name AS ADVISORY_NAME, + E.advisory_type AS ADVISORY_TYPE, + :sid as ASSOCIATED_SYSTEM + FROM rhnErrata E, + rhnServerNeededErrataCache SNEC + WHERE EXISTS (SELECT server_id FROM rhnUserServerPerms USP + WHERE USP.user_id = :user_id + AND USP.server_id = :sid) + AND SNEC.server_id = :sid + AND SNEC.errata_id = E.id + AND E.advisory_type in (%s) +ORDER BY E.update_date DESC, E.id + </query> + <elaborator name="relevant_elab" /> + <elaborator name="errata_overview" /> +</mode> + + + <query name="relevant_elab" params="sid" > + SELECT DISTINCT AEU.errata_id AS id, + AST.name AS status, + SA.action_id + FROM rhnActionErrataUpdate AEU, + rhnServerAction SA, + rhnActionStatus AST + WHERE SA.server_id = :sid + AND SA.action_id = AEU.action_id + AND AEU.errata_id IN (%s) + AND AST.id = SA.status + AND NOT ( EXISTS ( SELECT 1 FROM rhnServerNeededErrataCache + WHERE server_id = SA.server_id + AND errata_id = AEU.errata_id + ) + AND AST.name = 'Completed' -- filter out rolled back status + ) + </query> + + <mode name="relevant_to_system_by_type" class="com.redhat.rhn.frontend.dto.ErrataOverview"> <query params="user_id, sid, type"> SELECT DISTINCT E.id, E.update_date, diff --git a/java/code/src/com/redhat/rhn/frontend/action/systems/ErrataSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/systems/ErrataSetupAction.java index 0a407b3..3032a8c 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/systems/ErrataSetupAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/systems/ErrataSetupAction.java @@ -14,20 +14,18 @@ */ package com.redhat.rhn.frontend.action.systems;
-import com.redhat.rhn.common.db.datasource.DataResult; +import com.redhat.rhn.common.localization.LocalizationService; +import com.redhat.rhn.domain.errata.ErrataFactory; import com.redhat.rhn.domain.rhnset.RhnSet; import com.redhat.rhn.domain.server.Server; import com.redhat.rhn.domain.user.User; import com.redhat.rhn.frontend.action.systems.sdc.SdcHelper; import com.redhat.rhn.frontend.struts.RequestContext; import com.redhat.rhn.frontend.struts.RhnAction; -import com.redhat.rhn.frontend.struts.RhnHelper; -import com.redhat.rhn.frontend.struts.RhnListSetHelper; import com.redhat.rhn.frontend.struts.StrutsDelegate; -import com.redhat.rhn.frontend.taglibs.list.ListTagHelper; -import com.redhat.rhn.frontend.taglibs.list.TagHelper; +import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper; +import com.redhat.rhn.frontend.taglibs.list.helper.Listable; import com.redhat.rhn.manager.rhnset.RhnSetDecl; -import com.redhat.rhn.manager.rhnset.RhnSetManager; import com.redhat.rhn.manager.system.SystemManager;
import org.apache.struts.action.ActionForm; @@ -36,8 +34,10 @@ import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages;
+import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; +import java.util.List; import java.util.Map; import java.util.Set;
@@ -48,11 +48,21 @@ import javax.servlet.http.HttpServletResponse; * ErrataSetupAction * @version $Rev$ */ -public class ErrataSetupAction extends RhnAction { +public class ErrataSetupAction extends RhnAction implements Listable {
public static final String DISPATCH = "dispatch"; public static final String LIST_NAME = "errataList";
+ public static final String ALL = "All"; + public static final String NON_CRITICAL = "errata.updates.noncritical"; + public static final String SECUR = "errata.create.securityadvisory"; + public static final String BUGFIX = "errata.create.bugfixadvisory"; + public static final String ENHANCE = "errata.create.productenhancementadvisory"; + + public static final String SELECTOR = "type"; + + + /** {@inheritDoc} */ public ActionForward execute(ActionMapping mapping, ActionForm formIn, @@ -61,35 +71,24 @@ public class ErrataSetupAction extends RhnAction {
RequestContext requestContext = new RequestContext(request); User user = requestContext.getLoggedInUser(); - RhnListSetHelper helper = new RhnListSetHelper(request); Long sid = requestContext.getRequiredParam("sid"); RhnSet set = getSetDecl(sid).get(user); - DataResult dr = SystemManager.relevantErrata(user, sid); +
- if (request.getParameter(DISPATCH) != null) { - // if its one of the Dispatch actions handle it.. - helper.updateSet(set, LIST_NAME); - if (!set.isEmpty()) { + + ListRhnSetHelper help = new ListRhnSetHelper(this, request, getSetDecl(sid)); + help.setListName(LIST_NAME); + String parentURL = request.getRequestURI() + "?sid=" + sid; + help.setParentUrl(parentURL); + + help.execute(); + + if (help.isDispatched()) { + if (requestContext.wasDispatched("errata.jsp.apply")) { return applyErrata(mapping, formIn, request, response); } - else { - RhnHelper.handleEmptySelection(request); - } - } - - if (ListTagHelper.getListAction(LIST_NAME, request) != null) { - helper.execute(set, LIST_NAME, dr); - } - else if (!requestContext.isSubmitted()) { - set.clear(); - RhnSetManager.store(set); - } - - // if I have a previous set selections populate data using it - if (!set.isEmpty()) { - helper.syncSelections(set, dr); - ListTagHelper.setSelectedAmount(LIST_NAME, set.size(), request); } +
String showButton = "true"; // Show the "Apply Errata" button only when unapplied errata exist: @@ -97,6 +96,11 @@ public class ErrataSetupAction extends RhnAction { showButton = "false"; }
+ + + + + Map params = new HashMap(); Set keys = request.getParameterMap().keySet(); for (Iterator i = keys.iterator(); i.hasNext();) { @@ -104,21 +108,63 @@ public class ErrataSetupAction extends RhnAction { params.put(key, request.getParameter(key)); }
- ListTagHelper.bindSetDeclTo(LIST_NAME, getSetDecl(sid), request); - TagHelper.bindElaboratorTo(LIST_NAME, dr.getElaborator(), request); - Server server = SystemManager.lookupByIdAndUser(sid, user); SdcHelper.ssmCheck(request, server.getId(), user); request.setAttribute("showApplyErrata", showButton); - request.setAttribute("pageList", dr); request.setAttribute("set", set); request.setAttribute("system", server); - String parentURL = request.getRequestURI() + "?sid=" + sid; - request.setAttribute(ListTagHelper.PARENT_URL, parentURL); + request.setAttribute("combo", getComboList(request)); + request.setAttribute(SELECTOR, request.getParameter(SELECTOR));
return getStrutsDelegate().forwardParams(mapping.findForward("default"), params); }
+ + private List<Map<String, Object>> getComboList(HttpServletRequest request) { + + String selected = (String) request.getParameter(SELECTOR); + + List<Map<String, Object>> combo = new ArrayList<Map<String, Object>>(); + + LocalizationService ls = LocalizationService.getInstance(); + + + Map<String, Object> tmp = new HashMap<String, Object>(); + tmp.put("name", ALL); + tmp.put("id", ALL); + tmp.put("default", ls.getMessage(ALL).equals(selected)); + + Map<String, Object> tmp1 = new HashMap<String, Object>(); + tmp1.put("name", NON_CRITICAL); + tmp1.put("id", NON_CRITICAL); + tmp1.put("default", ls.getMessage(NON_CRITICAL).equals(selected)); + + + Map<String, Object> tmp2 = new HashMap<String, Object>(); + tmp2.put("name", BUGFIX); + tmp2.put("id", BUGFIX); + tmp2.put("default", ls.getMessage(BUGFIX).equals(selected)); + + Map<String, Object> tmp3 = new HashMap<String, Object>(); + tmp3.put("name", ENHANCE); + tmp3.put("id", ENHANCE); + tmp3.put("default", ls.getMessage(ENHANCE).equals(selected)); + + Map<String, Object> tmp4 = new HashMap<String, Object>(); + tmp4.put("name", SECUR); + tmp4.put("id", SECUR); + tmp4.put("default", ls.getMessage(SECUR).equals(selected)); + + combo.add(tmp); + combo.add(tmp1); + combo.add(tmp2); + combo.add(tmp3); + combo.add(tmp4); + return combo; + + } + + /** * Applies the selected errata * @param mapping ActionMapping @@ -184,4 +230,40 @@ public class ErrataSetupAction extends RhnAction { return params; }
+ + /** + * + * {@inheritDoc} + */ + public List getResult(RequestContext context) { + User user = context.getLoggedInUser(); + Long sid = context.getRequiredParam("sid"); + String type = context.getParam(SELECTOR, false); + + LocalizationService ls = LocalizationService.getInstance(); + + List<String> typeList = new ArrayList<String>(); + + if (ls.getMessage(BUGFIX).equals(type)) { + typeList.add(ErrataFactory.ERRATA_TYPE_BUG); + } + else if (ls.getMessage(SECUR).equals(type)) { + typeList.add(ErrataFactory.ERRATA_TYPE_SECURITY); + } + else if (ls.getMessage(ENHANCE).equals(type)) { + typeList.add(ErrataFactory.ERRATA_TYPE_ENHANCEMENT); + } + else if (ls.getMessage(NON_CRITICAL).equals(type)) { + typeList.add(ErrataFactory.ERRATA_TYPE_BUG); + typeList.add(ErrataFactory.ERRATA_TYPE_ENHANCEMENT); + } + else { + typeList.add(ErrataFactory.ERRATA_TYPE_BUG); + typeList.add(ErrataFactory.ERRATA_TYPE_ENHANCEMENT); + typeList.add(ErrataFactory.ERRATA_TYPE_SECURITY); + } + + return SystemManager.relevantErrata(user, sid, typeList); + } + } diff --git a/java/code/src/com/redhat/rhn/frontend/action/systems/SystemListHelper.java b/java/code/src/com/redhat/rhn/frontend/action/systems/SystemListHelper.java index d2f1398..d737a67 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/systems/SystemListHelper.java +++ b/java/code/src/com/redhat/rhn/frontend/action/systems/SystemListHelper.java @@ -137,7 +137,8 @@ public class SystemListHelper { //status = "critical"; url.setAttribute("href", "/rhn/systems/details/ErrataList.do?sid=" + - next.getId()); + next.getId() + "&type=" + + LocalizationService.getInstance().getMessage(ErrataSetupAction.SECUR)); message = ls.getMessage("systemlist.jsp.critical"); img.setAttribute("src", "/img/icon_crit_update.gif"); img.setAttribute("title", message); diff --git a/java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataSetupActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataSetupActionTest.java index 0f7ae4e..f3d3fc0 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataSetupActionTest.java +++ b/java/code/src/com/redhat/rhn/frontend/action/systems/test/ErrataSetupActionTest.java @@ -54,7 +54,6 @@ public class ErrataSetupActionTest extends RhnMockStrutsTestCase { }
actionPerform(); - assertNotNull(request.getAttribute("pageList")); assertNotNull(request.getAttribute("set")); assertNotNull(request.getAttribute("system"));
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml index 7d1886d..91e9d0a 100644 --- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml +++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml @@ -8109,6 +8109,9 @@ Follow this url to see the full list of inactive systems: <trans-unit id="snapshots.entitlements"> <source>Entitlements Updated</source> </trans-unit> + <trans-unit id="errata.updates.noncritical"> + <source>Non-Critical</source> + </trans-unit> <trans-unit id="snapshots.configchannel"> <source>Configuration Channels Updated</source> </trans-unit> diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml index 4051cbe..d34d976 100644 --- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml +++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml @@ -21029,6 +21029,13 @@ given channel.</source> <context context-type="sourcefile">/rhn/channels/manage/errata/ErrataList.do</context> </context-group> </trans-unit> + <trans-unit id="system.errata.show"> + <source>Show</source> + <context-group name="ctx"> + <context context-type="sourcefile">/rhn/systems/details/ErrataList.do</context> + </context-group> + </trans-unit> + </body> </file> </xliff> diff --git a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java index f1a81ee..9485c21 100644 --- a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java +++ b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java @@ -706,6 +706,31 @@ public class SystemManager extends BaseManager { }
/** + * Returns a list of errata relevant to a system + * @param user The user + * @param sid System Id + * @param types of errata types (strings) to include + * @return a list of ErrataOverviews + */ + public static DataResult<ErrataOverview> relevantErrata(User user, + Long sid, List<String> types) { + SelectMode m = ModeFactory.getMode("Errata_queries", "relevant_to_system_by_types"); + + Map params = new HashMap(); + params.put("user_id", user.getId()); + params.put("sid", sid); + + Map elabParams = new HashMap(); + elabParams.put("sid", sid); + elabParams.put("user_id", user.getId()); + + DataResult<ErrataOverview> dr = m.execute(params, types); + dr.setElaborationParams(elabParams); + return dr; + } + + + /** * Returns a list of errata relevant to a system by type * @param user The user * @param sid System Id diff --git a/java/code/webapp/WEB-INF/pages/systems/errata.jsp b/java/code/webapp/WEB-INF/pages/systems/errata.jsp index 8aae829..7362326 100644 --- a/java/code/webapp/WEB-INF/pages/systems/errata.jsp +++ b/java/code/webapp/WEB-INF/pages/systems/errata.jsp @@ -8,6 +8,15 @@ <html> <head> <meta name="name" value="System Details" /> +<!-- disables the enter key from submitting the form --> + <script type="text/javascript" language="JavaScript"> + function key(e) { + var pkey = e ? e.which : window.event.keyCode; + return pkey != 13; + } + document.onkeypress = key; + if (document.layers) document.captureEvents(Event.KEYPRESS); + </script> </head> <body>
@@ -28,7 +37,23 @@ <c:set var="pageList" value="${requestScope.pageList}" />
<rl:listset name="errataListSet" legend="errata"> - <rl:list dataset="pageList" + + <br/> + <select name="type"> + <c:forEach items="${combo}" var="item"> + <option id="${item.id}" + <c:if test="${item.default}"> selected</c:if> + > <bean:message key="${item.name}"/> + </option> + </c:forEach> + </select> + <html:submit property="show"> + <bean:message key="system.errata.show"/> + </html:submit> + <br/> + + + <rl:list width="100%" name="errataList" styleclass="list" @@ -78,7 +103,8 @@ <rl:column headerkey="erratalist.jsp.synopsis" bound="false" sortattr="advisorySynopsis" - sortable="true"> + sortable="true" + filterattr="advisorySynopsis"> ${current.advisorySynopsis} </rl:column> diff --git a/java/code/webapp/WEB-INF/pages/systems/sdc/overview.jsp b/java/code/webapp/WEB-INF/pages/systems/sdc/overview.jsp index 98db31e..22b2ecd 100644 --- a/java/code/webapp/WEB-INF/pages/systems/sdc/overview.jsp +++ b/java/code/webapp/WEB-INF/pages/systems/sdc/overview.jsp @@ -31,10 +31,10 @@ </c:choose>
<c:if test="${criticalErrataCount > 0}"> - <bean:message key="sdc.details.overview.updates.critical" arg0="/rhn/systems/details/ErrataList.do?sid=${system.id}" arg1="${criticalErrataCount}"/> + <bean:message key="sdc.details.overview.updates.critical" arg0="/rhn/systems/details/ErrataList.do?sid=${system.id}&type=${rhn:localize('errata.create.securityadvisory')}" arg1="${criticalErrataCount}"/> </c:if> <c:if test="${nonCriticalErrataCount > 0}"> - <bean:message key="sdc.details.overview.updates.noncritical" arg0="/rhn/systems/details/ErrataList.do?sid=${system.id}" arg1="${nonCriticalErrataCount}"/> + <bean:message key="sdc.details.overview.updates.noncritical" arg0="/rhn/systems/details/ErrataList.do?sid=${system.id}&type=${rhn:localize('errata.updates.noncritical')}" arg1="${nonCriticalErrataCount}"/> </c:if> <c:if test="${upgradablePackagesCount > 0}"> <bean:message key="sdc.details.overview.updates.packages" arg0="/rhn/systems/details/packages/UpgradableList.do?sid=${system.id}" arg1="${upgradablePackagesCount}"/>
commit c9bbaca2217578304f1e59bfa680af18b93786a6 Author: Jason Dobies jason.dobies@redhat.com Date: Fri Mar 27 11:58:27 2009 -0500
467063 - Port of clone errata functionality to new list tag
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataAction.java index 305e926..96d6859 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataAction.java @@ -14,106 +14,112 @@ */ package com.redhat.rhn.frontend.action.errata;
+import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import org.apache.struts.util.LabelValueBean; import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.rhnset.RhnSet; +import com.redhat.rhn.common.localization.LocalizationService; +import com.redhat.rhn.domain.channel.Channel; import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.action.common.RhnSetAction; import com.redhat.rhn.frontend.struts.RequestContext; import com.redhat.rhn.frontend.struts.RhnAction; -import com.redhat.rhn.frontend.struts.StrutsDelegate; +import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper; +import com.redhat.rhn.frontend.taglibs.list.helper.Listable; +import com.redhat.rhn.manager.channel.ChannelManager; +import com.redhat.rhn.manager.errata.ErrataManager; import com.redhat.rhn.manager.rhnset.RhnSetDecl;
-import org.apache.commons.lang.BooleanUtils; -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.ActionMapping; -import org.apache.struts.action.ActionMessage; -import org.apache.struts.action.ActionMessages; -import org.apache.struts.action.DynaActionForm; - -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - /** * CloneErrataSubmitAction + * * @version $Rev$ */ -public class CloneErrataAction extends RhnSetAction { - - /** - * Updates the set with the selected errata to clone - * and forwards the user to the clone errata page. - * @param mapping ActionMapping - * @param formIn ActionForm - * @param request ServletRequest - * @param response ServletResponse - * @return The ActionForward to go to next. - */ - public ActionForward cloneErrata(ActionMapping mapping, - ActionForm formIn, - HttpServletRequest request, - HttpServletResponse response) { - RhnSet set = updateSet(request); - Map params = makeParamMap(formIn, request); - - StrutsDelegate strutsDelegate = getStrutsDelegate(); - - //if they chose no errata, return to the same page with a message - if (set.isEmpty()) { - ActionMessages msg = new ActionMessages(); - msg.add(ActionMessages.GLOBAL_MESSAGE, - new ActionMessage("errata.applynone")); - strutsDelegate.saveMessages(request, msg); - return strutsDelegate.forwardParams(mapping.findForward("default"), params); +public class CloneErrataAction extends RhnAction implements Listable { + + public static final String ANY_CHANNEL = "any_channel"; + + /** {@inheritDoc} */ + public ActionForward execute(ActionMapping actionMapping, + ActionForm actionForm, + HttpServletRequest request, + HttpServletResponse response) + throws Exception { + + ListRhnSetHelper helper = + new ListRhnSetHelper(this, request, RhnSetDecl.ERRATA_CLONE); + helper.execute(); + + ActionForward forward; + if (helper.isDispatched()) { + // Nothing to do when dispatched, there is a confirmation page displayed next + // that will do the actual work + forward = actionMapping.findForward("continue"); } - - return mapping.findForward("clone"); - } + else { + RequestContext context = new RequestContext(request); + populateChannelDropDown(context);
- /** - * {@inheritDoc} - */ - protected RhnSetDecl getSetDecl() { - return RhnSetDecl.ERRATA_CLONE; - } + forward = actionMapping.findForward("default"); + }
- /** - * {@inheritDoc} - */ - protected DataResult getDataResult(User user, - ActionForm formIn, - HttpServletRequest request) { - RequestContext rctx = new RequestContext(request); - return CloneErrataActionHelper.getSubmittedDataResult(rctx, - (DynaActionForm) formIn, - null); + return forward; }
- /** - * {@inheritDoc} - */ - protected void processMethodKeys(Map map) { - map.put("cloneerrata.jsp.cloneerrata", "cloneErrata"); - } - - protected boolean isShowCloned(DynaActionForm daForm) { - return BooleanUtils.toBoolean((Boolean) daForm.get("showalreadycloned")); - } + /** {@inheritDoc} */ + public List getResult(RequestContext context) { + User user = context.getLoggedInUser(); + Long orgId = user.getOrg().getId(); + + // Determine if a specific channel is being selected + String channel = context.getParam("channel", false); + + // Determine whether or not to show already cloned errata + boolean showAlreadyCloned = context.getParam("showalreadycloned", false) != null; + + DataResult result; + + if (channel == null || channel.equals(ANY_CHANNEL)) { + result = ErrataManager.clonableErrata(orgId, showAlreadyCloned); + } + else { + // Example value of channel parameter: channel_141 + long channelId = Long.parseLong(channel.substring(8));
- /** - * {@inheritDoc} - */ - protected void processParamMap(ActionForm formIn, - HttpServletRequest request, - Map params) { - DynaActionForm daForm = (DynaActionForm) formIn; - params.put(RhnAction.SUBMITTED, daForm.get(RhnAction.SUBMITTED)); - params.put(CloneErrataActionHelper.CHANNEL, - daForm.get(CloneErrataActionHelper.CHANNEL)); - params.put(CloneErrataActionHelper.SHOW_ALREADY_CLONED, - daForm.get(CloneErrataActionHelper.SHOW_ALREADY_CLONED)); + result = ErrataManager.clonableErrataForChannel(orgId, + channelId, showAlreadyCloned); + } + + return result; }
+ private void populateChannelDropDown(RequestContext rctx) { + + LocalizationService ls = LocalizationService.getInstance(); + + List<LabelValueBean> displayList = new ArrayList<LabelValueBean>(); + displayList.add(new LabelValueBean(ls.getMessage("cloneerrata.anychannel"), + ANY_CHANNEL)); + + List channels = ChannelManager. + getChannelsWithClonableErrata(rctx.getCurrentUser().getOrg()); + + if (channels != null) { + for (Iterator i = channels.iterator(); i.hasNext();) { + Channel c = (Channel) i.next(); + // /me wonders if this shouldn't be part of the query. + if ("rpm".equals(c.getChannelArch().getArchType().getLabel())) { + displayList.add(new LabelValueBean(c.getName(), + "channel_" + c.getId())); + } + } + } + + rctx.getRequest().setAttribute("clonablechannels", displayList); + } } diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataActionHelper.java b/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataActionHelper.java deleted file mode 100644 index a96132e..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataActionHelper.java +++ /dev/null @@ -1,83 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.errata; - -import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.frontend.listview.PageControl; -import com.redhat.rhn.frontend.struts.RequestContext; -import com.redhat.rhn.manager.errata.ErrataManager; - -import org.apache.commons.lang.BooleanUtils; -import org.apache.struts.action.DynaActionForm; - -/** - * CloneErrataActionHelper - * Helper class to allow the CloneErrataAction and CloneErrataSetupAction - * to share data retrieval logic. - * @version $Rev$ - */ -public class CloneErrataActionHelper { - - public static final String CHANNEL = "channel"; - public static final String SHOW_ALREADY_CLONED = "showalreadycloned"; - public static final String ANY_CHANNEL = "any_channel"; - - /** utility class */ - private CloneErrataActionHelper() { - - } - /** - * Returns the dataresult for this page. - * @param rctx Current RequestContext - * @param daForm DynaActionForm submitted - * @param pc PageControl - * @return the list of clonable errata. - */ - protected static DataResult getSubmittedDataResult(RequestContext rctx, - DynaActionForm daForm, - PageControl pc) { - Long orgId = rctx.getCurrentUser().getOrg().getId(); - - String channel = daForm.getString(CHANNEL); - - /* Our form has already been validated so we are guaranteed - * to have a channel value off the form equaling either - * 'any_channel' or 'channel_somenumber' - */ - if (channel.equals(ANY_CHANNEL)) { - return ErrataManager.clonableErrata(orgId, pc, isShowCloned(daForm)); - } - else { - return ErrataManager.clonableErrataForChannel(orgId, - new Long(channel. - substring(8)), - pc, - isShowCloned( - daForm)); - } - } - - protected static DataResult getUnsubmittedDataResult(RequestContext rctx, - PageControl pc) { - Long orgId = rctx.getCurrentUser().getOrg().getId(); - - return ErrataManager.clonableErrata(orgId, pc, false); - } - - protected static boolean isShowCloned(DynaActionForm daForm) { - return BooleanUtils.toBoolean((Boolean) daForm.get(SHOW_ALREADY_CLONED)); - } - -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataSetupAction.java deleted file mode 100644 index f0ca986..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/CloneErrataSetupAction.java +++ /dev/null @@ -1,120 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.errata; - -import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.common.localization.LocalizationService; -import com.redhat.rhn.domain.channel.Channel; -import com.redhat.rhn.domain.rhnset.RhnSet; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.listview.PageControl; -import com.redhat.rhn.frontend.struts.RequestContext; -import com.redhat.rhn.frontend.struts.RhnListAction; -import com.redhat.rhn.frontend.struts.RhnValidationHelper; -import com.redhat.rhn.manager.channel.ChannelManager; -import com.redhat.rhn.manager.rhnset.RhnSetDecl; - -import org.apache.struts.action.ActionErrors; -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.ActionMapping; -import org.apache.struts.action.DynaActionForm; -import org.apache.struts.util.LabelValueBean; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * CloneErrataSetupAction - * - * @version $Rev$ - */ -public class CloneErrataSetupAction extends RhnListAction { - - /** {@inheritDoc} */ - public final ActionForward execute(ActionMapping mapping, - ActionForm formIn, - HttpServletRequest request, - HttpServletResponse response) { - DynaActionForm daForm = (DynaActionForm) formIn; - RequestContext rctx = new RequestContext(request); - User user = rctx.getLoggedInUser(); - DataResult dr; - - PageControl pc = new PageControl(); - pc.setFilterColumn("earliest"); - - clampListBounds(pc, request, user); - - RhnSet set = RhnSetDecl.ERRATA_CLONE.get(user); - - /* If the user submitted the form, we find out what channel - * errata they are trying to look at from the form. Otherwise, - * we just show them all errata not already cloned in all managed - * channels - */ - if (isSubmitted(daForm)) { - ActionErrors errors = RhnValidationHelper.validateDynaActionForm(this, - daForm); - - if (!errors.isEmpty()) { - getStrutsDelegate().saveMessages(request, errors); - return mapping.findForward("error"); - } - - dr = CloneErrataActionHelper.getSubmittedDataResult(rctx, daForm, pc); - } - else { - dr = CloneErrataActionHelper.getUnsubmittedDataResult(rctx, pc); - } - - request.setAttribute("pageList", dr); - request.setAttribute("set", set); - processDropDownList(rctx); - - return mapping.findForward("default"); - } - - protected void processDropDownList(RequestContext rctx) { - List displayList = new ArrayList(); - LocalizationService ls = LocalizationService.getInstance(); - displayList.add(new LabelValueBean(ls.getMessage("cloneerrata.anychannel"), - CloneErrataActionHelper.ANY_CHANNEL)); - List l = ChannelManager. - getChannelsWithClonableErrata(rctx.getCurrentUser().getOrg()); - - if (l != null) { - for (Iterator i = l.iterator(); i.hasNext();) { - Channel c = (Channel) i.next(); - // /me wonders if this shouldn't be part of the query. - if ("rpm".equals(c.getChannelArch().getArchType().getLabel())) { - displayList.add(new LabelValueBean(c.getName(), - "channel_" + c.getId())); - } - } - } - - - rctx.getRequest().setAttribute("clonablechannels", displayList); - } - - protected RhnSetDecl getSetDecl() { - return RhnSetDecl.ERRATA_CLONE; - } -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataSetupActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataSetupActionTest.java deleted file mode 100644 index f6d3697..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataSetupActionTest.java +++ /dev/null @@ -1,218 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.errata.test; - -import java.util.List; - -import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.channel.Channel; -import com.redhat.rhn.domain.channel.test.ChannelFactoryTest; -import com.redhat.rhn.domain.errata.Errata; -import com.redhat.rhn.domain.errata.ErrataFactory; -import com.redhat.rhn.domain.errata.test.ErrataFactoryTest; -import com.redhat.rhn.domain.org.OrgFactory; -import com.redhat.rhn.domain.role.RoleFactory; -import com.redhat.rhn.frontend.action.errata.CloneErrataActionHelper; -import com.redhat.rhn.frontend.struts.RhnAction; -import com.redhat.rhn.manager.channel.ChannelManager; -import com.redhat.rhn.testing.RhnMockStrutsTestCase; -import com.redhat.rhn.testing.TestUtils; - -/** - * CloneErrataSetupActionTest - * @version $Rev$ - */ -public class CloneErrataSetupActionTest extends RhnMockStrutsTestCase { - - public void setUp() throws Exception { - super.setUp(); - setRequestPathInfo("/errata/manage/CloneErrata"); - user.getOrg().getEntitlements().add(OrgFactory.getEntitlementEnterprise()); - user.getOrg().addRole(RoleFactory.CHANNEL_ADMIN); - } - - /** - * We have no guarantee that there aren't already cloned channels in - * the test database. Therefore, we need to find out how many are - * in the cloned channel dropdown list BEFORE we insert our test channel - * into the database, then verify that we get the number of cloned - * channels we originally got back plus one (the extra one being our - * new channel). - * @throws Exception - */ - public void testDropDownList() throws Exception { - - actionPerform(); - List channelList = (List) request.getAttribute("clonablechannels"); - int oldSize = channelList.size(); - ChannelFactoryTest.createTestClonedChannel( - ChannelFactoryTest.createTestChannel(user), - user); - - actionPerform(); - channelList = (List) request.getAttribute("clonablechannels"); - assertNotNull(channelList); - assertTrue(channelList.size() == oldSize + 1); - } - - /** - * Same rules apply here as the above test. We're not guaranteed any particular - * number of results in our pageList, but we know it should be n + 1 size. - * @throws Exception - */ - public void testPageList() throws Exception { - - actionPerform(); - DataResult dr = (DataResult) request.getAttribute("pageList"); - int oldSize = dr.getTotalSize(); - - Channel original = ChannelFactoryTest.createTestChannel(user); - Errata e = ErrataFactoryTest.createTestPublishedErrata(user.getOrg().getId()); - original.addErrata(e); - - ChannelFactoryTest.createTestClonedChannel(original, user); - - actionPerform(); - dr = (DataResult) request.getAttribute("pageList"); - assertNotNull(dr); - assertTrue(dr.getTotalSize() == oldSize + 1); - } - - /** - * This test simulates a submit where the user has asked for results for - * a particular cloned channel. The result should be empty until we create - * an errata that could potentially be cloned. - * @throws Exception - */ - public void testChannelSubmit() throws Exception { - - // ClonedChannel c = (ClonedChannel) ChannelFactory.lookupById(new Long(308066)); - // assertNotNull(c); - - // Have to run this query first , otherwise we hit a Hibernate bug - // where we get a WrongClassCastException - ChannelManager. - getChannelsWithClonableErrata(user.getOrg()); - Channel original = ChannelFactoryTest.createTestChannel(user); - Channel clone = ChannelFactoryTest.createTestClonedChannel(original, user); - TestUtils.saveAndFlush(original); - TestUtils.saveAndFlush(clone); - // clone = (ClonedChannel) TestUtils.reload(clone); - - - request.addParameter("channel", "channel_" + clone.getId()); - request.addParameter(RhnAction.SUBMITTED, "true"); - actionPerform(); - DataResult dr = (DataResult) request.getAttribute("pageList"); - - assertNotNull(dr); - assertTrue(dr.size() == 0); - - Errata e = ErrataFactoryTest.createTestPublishedErrata(user.getOrg().getId()); - original.addErrata(e); - TestUtils.saveAndFlush(original); - TestUtils.saveAndFlush(e); - - actionPerform(); - dr = (DataResult) request.getAttribute("pageList"); - assertNotNull(dr); - assertTrue(dr.size() == 1); - } - - /** - * This test simulates a submit where the user is asking for clonable - * errata for a particular channel, and asks to be shown errata that - * have already been cloned. We clone the errata and verify - * that the list for the channel contains the cloned errata only - * when we ask to see errata that have already been cloned - * @throws Exception - */ - public void testViewAlreadyClonedErrataForChannel() throws Exception { - // Have to run this query first , otherwise we hit a Hibernate bug - // where we get a WrongClassCastException - ChannelManager. - getChannelsWithClonableErrata(user.getOrg()); - - Channel original = ChannelFactoryTest.createTestChannel(user); - Channel clone = ChannelFactoryTest.createTestClonedChannel(original, user); - TestUtils.saveAndFlush(original); - TestUtils.saveAndFlush(clone); - - Errata e = ErrataFactoryTest.createTestPublishedErrata(user.getOrg().getId()); - original.addErrata(e); - - ErrataFactory.createClone(user.getOrg(), e); - - request.addParameter("channel", "channel_" + clone.getId()); - request.addParameter(RhnAction.SUBMITTED, "true"); - actionPerform(); - DataResult dr = (DataResult) request.getAttribute("pageList"); - assertNotNull(dr); - assertTrue(dr.size() == 0); - - request.addParameter("channel", "channel_" + clone.getId()); - request.addParameter(RhnAction.SUBMITTED, "true"); - request.addParameter(CloneErrataActionHelper.SHOW_ALREADY_CLONED, "true"); - actionPerform(); - dr = (DataResult) request.getAttribute("pageList"); - assertNotNull(dr); - assertTrue(dr.size() == 1); - } - - /** - * This test simulates a submit where the user is asking for clonable - * errata for all channels, and asks to be shown errata that - * have already been cloned. We clone an errata and verify - * that the list contains MORE errata (as that's all we can guarantee) - * when we ask for errata that have already been cloned - * @throws Exception - */ - public void testViewAlreadyClonedErrataForAll() throws Exception { - // Have to run this query first , otherwise we hit a Hibernate bug - // where we get a WrongClassCastException - ChannelManager. - getChannelsWithClonableErrata(user.getOrg()); - - Channel original = ChannelFactoryTest.createTestChannel(user); - ChannelFactoryTest.createTestClonedChannel(original, user); - - Errata e = ErrataFactoryTest.createTestPublishedErrata(user.getOrg().getId()); - original.addErrata(e); - - ErrataFactory.createClone(user.getOrg(), e); - - request.addParameter("channel", CloneErrataActionHelper.ANY_CHANNEL); - request.addParameter(RhnAction.SUBMITTED, "true"); - actionPerform(); - DataResult dr = (DataResult) request.getAttribute("pageList"); - assertNotNull(dr); - int oldSize = dr.getTotalSize(); - - request.addParameter("channel", CloneErrataActionHelper.ANY_CHANNEL); - request.addParameter(RhnAction.SUBMITTED, "true"); - request.addParameter(CloneErrataActionHelper.SHOW_ALREADY_CLONED, "true"); - actionPerform(); - dr = (DataResult) request.getAttribute("pageList"); - assertNotNull(dr); - assertTrue(dr.getTotalSize() > oldSize); - } - - public void testBadSubmit() throws Exception { - - request.addParameter("channel", "we've_got_snakes_on_a_plane"); - actionPerform(); - verifyForward("error"); - } -} diff --git a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java index 523d866..2a48b22 100644 --- a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java +++ b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java @@ -396,22 +396,9 @@ public class ErrataManager extends BaseManager { /** * Helper method to get the unpublished/published errata * @param user Currently logged in user - * @param pc PageControl * @param mode Tells which mode (published/unpublished) we need to run * @return all of the errata */ - private static DataResult ownedErrata(User user, PageControl pc, String mode) { - SelectMode m = ModeFactory.getMode("Errata_queries", mode); - Map params = new HashMap(); - params.put("org_id", user.getOrg().getId()); - if (pc != null) { - return makeDataResult(params, new HashMap(), pc, m); - } - DataResult dr = m.execute(params); - dr.setTotalSize(dr.size()); - return dr; - } - private static DataResult ownedErrata(User user, String mode) { SelectMode m = ModeFactory.getMode("Errata_queries", mode); Map params = new HashMap(); @@ -823,59 +810,55 @@ public class ErrataManager extends BaseManager { /** * Get List of all cloneable errata for an org * @param orgid org we want to lookup against - * @param pc page control to be used * @param showCloned whether we should show errata that have already been cloned * @return List of cloneableErrata */ - public static DataResult clonableErrata(Long orgid, - PageControl pc, + public static DataResult clonableErrata(Long orgid, boolean showCloned) { SelectMode m; - + if (showCloned) { - m = ModeFactory.getMode("Errata_queries", + m = ModeFactory.getMode("Errata_queries", "clonable_errata_list_all"); } else { - m = ModeFactory.getMode("Errata_queries", + m = ModeFactory.getMode("Errata_queries", "clonable_errata_list_uncloned"); } - - + + Map params = new HashMap(); params.put("org_id", orgid); - return makeDataResult(params, params, pc, m); + return makeDataResult(params, params, null, m); } - + /** * Get List of cloneable Errata for an org, from a particular channel * @param orgid org we want to lookup against * @param cid channelid - * @param pc page control to be used * @param showCloned whether we should show errata that have already been cloned * @return List of cloneableErrata */ - public static DataResult clonableErrataForChannel(Long orgid, - Long cid, - PageControl pc, + public static DataResult clonableErrataForChannel(Long orgid, + Long cid, boolean showCloned) { SelectMode m; - + if (showCloned) { - m = ModeFactory.getMode("Errata_queries", + m = ModeFactory.getMode("Errata_queries", "clonable_errata_for_channel_all"); } else { - m = ModeFactory.getMode("Errata_queries", + m = ModeFactory.getMode("Errata_queries", "clonable_errata_for_channel_uncloned"); } - + Map params = new HashMap(); params.put("channel_id", cid); params.put("org_id", orgid); - return makeDataResult(params, params, pc, m); + return makeDataResult(params, params, null, m); } - + /** * Get a list of channels applicable to the erratum * @param eid The id of the erratum diff --git a/java/code/webapp/WEB-INF/pages/errata/cloneerrata.jsp b/java/code/webapp/WEB-INF/pages/errata/cloneerrata.jsp index 750ab13..7a4fbea 100644 --- a/java/code/webapp/WEB-INF/pages/errata/cloneerrata.jsp +++ b/java/code/webapp/WEB-INF/pages/errata/cloneerrata.jsp @@ -1,72 +1,96 @@ <%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn" %> +<%@ taglib uri="http://rhn.redhat.com/tags/list" prefix="rl" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<html:html xhtml="true"> -<body> + <body>
-<html:messages id="message" message="true"> - rhn:messages<c:out escapeXml="false" value="${message}" /></rhn:messages> -</html:messages> - -<rhn:toolbar base="h1" img="/img/rhn-icon-errata.gif" - helpUrl="/rhn/help/channel-mgmt/en/channel-mgmt-Custom_Errata_Management-Cloning_Errata.jsp"> - <bean:message key="cloneerrata.jsp.erratamanagement" /> -</rhn:toolbar> -<h2><bean:message key="cloneerrata.jsp.cloneerrata"/></h2> -<div class="page-summary"> -<p><bean:message key="cloneerrata.jsp.pagesummary"/></p> -</div> -<br /> -<html:form action="/errata/manage/CloneErrataSubmit"> - <bean:message key="cloneerrata.jsp.viewapplicableerrata" />: - <html:select property="channel"> - <html:options collection="clonablechannels" property="value" labelProperty="label"/> - </html:select> - html:submit - <bean:message key="cloneerrata.jsp.view"/> - </html:submit> - <br /> - <html:checkbox property="showalreadycloned" value="1" /> <bean:message key="cloneerrata.jsp.showclonederrata" /> + <html:messages id="message" message="true"> + rhn:messages<c:out escapeXml="false" value="${message}"/></rhn:messages> + </html:messages>
-<rhn:list pageList="${requestScope.pageList}" - noDataText="cloneerrata.jsp.noerrata" - legend="errata"> + <rhn:toolbar base="h1" img="/img/rhn-icon-errata.gif" + helpUrl="/rhn/help/channel-mgmt/en/channel-mgmt-Custom_Errata_Management-Cloning_Errata.jsp"> + <bean:message key="cloneerrata.jsp.erratamanagement"/> + </rhn:toolbar>
- <rhn:listdisplay set="${requestScope.set}" hiddenvars="${requestScope.newset}" - button="cloneerrata.jsp.cloneerrata"> - <rhn:set value="${current.id}" /> - <rhn:column header="cloneerrata.jsp.type"> - ${current.advisoryType} - </rhn:column> - <rhn:column header="cloneerrata.jsp.advisory"> - <a href="/rhn/errata/details/Details.do?eid=${current.id}">${current.advisoryName}</a> - </rhn:column> - <rhn:column header="cloneerrata.jsp.synopsis"> - ${current.synopsis} - </rhn:column> - <rhn:column header="cloneerrata.jsp.updated"> - ${current.updateDate} - </rhn:column> - <rhn:column header="cloneerrata.jsp.potentialchannels"> - <c:forEach items="${current.channelMap}" var="map"> - <a href="/network/software/channels/manage/index.pxt?cid=${map.id}">${map.name}</a><br/> - </c:forEach> - </rhn:column> - <rhn:column header="cloneerrata.jsp.alreadycloned"> - <c:choose> - <c:when test="${current.alreadyCloned}"> - <bean:message key="yes"/> - </c:when> - <c:otherwise> - <bean:message key="no"/> - </c:otherwise> - </c:choose> - </rhn:column> - </rhn:listdisplay> - </rhn:list> -<input type="hidden" name="submitted" value="true"/> -</html:form> -</body> + <h2><bean:message key="cloneerrata.jsp.cloneerrata"/></h2> + + <div class="page-summary"> + <p><bean:message key="cloneerrata.jsp.pagesummary"/></p> + </div> + + <br/> + + <html:form action="/errata/manage/CloneErrata" method="GET"> + <bean:message key="cloneerrata.jsp.viewapplicableerrata"/>: + <html:select property="channel"> + <html:options collection="clonablechannels" property="value" + labelProperty="label"/> + </html:select> + html:submit + <bean:message key="cloneerrata.jsp.view"/> + </html:submit> + <br/> + <html:checkbox property="showalreadycloned" value="1"/> <bean:message + key="cloneerrata.jsp.showclonederrata"/> + </html:form> + + <rl:listset name="groupList" legend="errata"> + + <rl:list emptykey="cloneerrata.jsp.noerrata"> + + <rl:decorator name="PageSizeDecorator"/> + <rl:decorator name="SelectableDecorator"/> + <rl:decorator name="ElaborationDecorator"/> + + <rl:selectablecolumn value="${current.selectionKey}" + selected="${current.selected}" + disabled="${not current.selectable}" + styleclass="first-column"/> + + <rl:column headerkey="cloneerrata.jsp.type"> + ${current.advisoryType} + </rl:column> + <rl:column headerkey="cloneerrata.jsp.advisory"> + <a href="/rhn/errata/details/Details.do?eid=${current.id}">${current.advisoryName}</a> + </rl:column> + <rl:column headerkey="cloneerrata.jsp.synopsis"> + ${current.synopsis} + </rl:column> + <rl:column headerkey="cloneerrata.jsp.updated"> + ${current.updateDate} + </rl:column> + <rl:column headerkey="cloneerrata.jsp.potentialchannels"> + <c:forEach items="${current.channelMap}" var="map"> + <a href="/network/software/channels/manage/index.pxt?cid=${map.id}">${map.name}</a><br/> + </c:forEach> + </rl:column> + <rl:column headerkey="cloneerrata.jsp.alreadycloned" + styleclass="last-column"> + <c:choose> + <c:when test="${current.alreadyCloned}"> + <bean:message key="yes"/> + </c:when> + <c:otherwise> + <bean:message key="no"/> + </c:otherwise> + </c:choose> + </rl:column> + + </rl:list> + + <div align="right"> + rhn:submitted/ + <hr/> + <input type="submit" + name="dispatch" + value='<bean:message key="cloneerrata.jsp.cloneerrata"/>'/> + </div> + + </rl:listset> + + </body> </html:html> diff --git a/java/code/webapp/WEB-INF/struts-config.xml b/java/code/webapp/WEB-INF/struts-config.xml index 55e7737..068e5ad 100644 --- a/java/code/webapp/WEB-INF/struts-config.xml +++ b/java/code/webapp/WEB-INF/struts-config.xml @@ -1839,15 +1839,15 @@ scope="request" name="cloneErrataForm" input="/WEB-INF/pages/errata/cloneerrata.jsp" - type="com.redhat.rhn.frontend.action.errata.CloneErrataSetupAction" + type="com.redhat.rhn.frontend.action.errata.CloneErrataAction" className="com.redhat.rhn.frontend.struts.RhnActionMapping"> <set-property property="acls" value="user_role(channel_admin)"/> <forward name="default" path="/WEB-INF/pages/errata/cloneerrata.jsp" /> - <forward name="error" - path="/WEB-INF/pages/errata/cloneerrata.jsp" /> + <forward name="continue" + path="/errata/manage/CloneConfirm.do" redirect="true" /> </action> - + <action path="/errata/manage/CloneErrataSubmit" scope="request" name="cloneErrataForm"
commit 46eb4b67a8790f187cfd783f35c92e42128d4fed Author: Shannon Hughes shughes@redhat.com Date: Fri Mar 27 11:39:21 2009 -0400
492418 - adding missing channel title when creating new software channels
diff --git a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java index 4748f42..0111025 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java @@ -93,7 +93,6 @@ public class EditChannelAction extends RhnAction implements Listable { } } else if (ctx.hasParam("edit_button")) { - //params.put("cid", ctx.getParam("cid", true)); String sharing = (String) form.get("org_sharing");
if (hasSharingChanged(form, ctx) && ("private".equals(sharing) || @@ -141,7 +140,7 @@ public class EditChannelAction extends RhnAction implements Listable { } if (!errors.isEmpty()) { request.setAttribute("channel_label", (String) form.get("label")); - request.setAttribute("channel_name", (String) form.get("name")); + request.setAttribute("channel_name", (String) form.getString("name")); request.setAttribute("channel_arch", (String) form.get("arch_name")); request.setAttribute("channel_arch_label", (String) form.get("arch")); addErrors(request, errors); @@ -431,7 +430,9 @@ public class EditChannelAction extends RhnAction implements Listable { } else { // default settings - request.setAttribute("channel_name", ""); + String channelName = LocalizationService.getInstance() + .getMessage("frontend.actions.channels.manager.create"); + request.setAttribute("channel_name", channelName); form.set("org_sharing", "private"); form.set("per_user_subscriptions", "all"); } diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml index 9d49dfd..7d1886d 100644 --- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml +++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml @@ -342,7 +342,13 @@ http://www.oasis-open.org/committees/xliff/documents/xliff-core-1.1.xsd" <context context-type="sourcefile">Navigation Menu</context> </context-group> </trans-unit> - <trans-unit id="Software Channel Entitlements"> + <trans-unit id="frontend.actions.channels.manager.create"> +<source>Create Software Channel</source> + <context-group name="ctx"> + <context context-type="sourcefile">/rhn/channels/manage/Edit.do</context> + </context-group> + </trans-unit> + <trans-unit id="Channel Management"> <source>Software Channel Entitlements</source> <context-group name="ctx"> <context context-type="sourcefile">Navigation Menu</context> diff --git a/java/code/webapp/WEB-INF/pages/channel/manage/edit.jsp b/java/code/webapp/WEB-INF/pages/channel/manage/edit.jsp index c344b76..091f93c 100644 --- a/java/code/webapp/WEB-INF/pages/channel/manage/edit.jsp +++ b/java/code/webapp/WEB-INF/pages/channel/manage/edit.jsp @@ -11,7 +11,7 @@ rhn:messages<c:out escapeXml="false" value="${message}" /></rhn:messages> </html:messages>
-<rhn:toolbar base="h1" img="/img/rhn-icon-info.gif" +<rhn:toolbar base="h1" img="/img/rhn-icon-channels.gif" deletionUrl="/network/software/channels/manage/delete_confirm.pxt?cid=${param.cid}" deletionAcl="user_role(channel_admin); formvar_exists(cid)" deletionType="software.channel">
commit 349547571ee6818af4208da2898ed19fa35e3543 Author: Justin Sherrill jsherril@redhat.com Date: Fri Mar 27 11:07:28 2009 -0400
492476 - fixing issue where critical plus non-critical errata for a system (on the system details page) did not total errata
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml index ea286e7..f3dbebb 100644 --- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml +++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml @@ -140,7 +140,7 @@ ORDER BY E.advisory_type DESC, E.update_date DESC, E.id <query params="user_id, sid"> SELECT COUNT(DISTINCT E.ID) AS COUNT FROM rhnErrata E, - rhnServerNeededPackageCache SNEC, + rhnServerNeededCache SNEC, rhnUserServerPerms USP WHERE USP.server_id = :sid AND USP.user_id = :user_id @@ -155,7 +155,7 @@ SELECT COUNT(DISTINCT E.ID) AS COUNT <query params="user_id, sid"> SELECT COUNT(DISTINCT E.ID) AS COUNT FROM rhnErrata E, - rhnServerNeededPackageCache SNEC, + rhnServerNeededCache SNEC, rhnUserServerPerms USP WHERE USP.server_id = :sid AND USP.user_id = :user_id
commit 2be7e98bf6d9aece2dac9f4c6a21ef118f98af82 Author: Justin Sherrill jsherril@redhat.com Date: Fri Mar 27 11:06:05 2009 -0400
492146 - fixing issue where system icons are not clickable
diff --git a/java/code/src/com/redhat/rhn/frontend/taglibs/list/decorators/SystemIconDecorator.java b/java/code/src/com/redhat/rhn/frontend/taglibs/list/decorators/SystemIconDecorator.java index 3608e41..5438a0d 100644 --- a/java/code/src/com/redhat/rhn/frontend/taglibs/list/decorators/SystemIconDecorator.java +++ b/java/code/src/com/redhat/rhn/frontend/taglibs/list/decorators/SystemIconDecorator.java @@ -49,7 +49,7 @@ public class SystemIconDecorator extends BaseListDecorator { (HttpServletRequest)getCurrentList().getContext().getRequest());
for (SystemOverview next : systems) { - SystemListHelper.setSystemStatusDisplay(context.getLoggedInUser(), next, false); + SystemListHelper.setSystemStatusDisplay(context.getLoggedInUser(), next, true); } } }
commit 5efd58f6ac1d3308bdd5151559d6bc5a72e6d81e Author: jesus m. rodriguez jesusr@redhat.com Date: Fri Mar 27 10:33:40 2009 -0400
forgot one of the license files
diff --git a/backend/PYTHON-LICENSES.txt b/backend/PYTHON-LICENSES.txt new file mode 100644 index 0000000..cbb5205 --- /dev/null +++ b/backend/PYTHON-LICENSES.txt @@ -0,0 +1,195 @@ +Some portions of this software incorporate material derived from one +or more releases of Python and covered by the following copyright +notices and licensing terms. + + + +Copyright (c) 2001, 2002, 2003 Python Software Foundation; All Rights +Reserved + +1. This LICENSE AGREEMENT is between the Python Software Foundation +("PSF"), and the Individual or Organization ("Licensee") accessing and +otherwise using Python 2.2.3 software in source or binary form and its +associated documentation. + +2. Subject to the terms and conditions of this License Agreement, PSF +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 2.2.3 +alone or in any derivative version, provided, however, that PSF's +License Agreement and PSF's notice of copyright, i.e., "Copyright (c) +2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are +retained in Python 2.2.3 alone or in any derivative version prepared +by Licensee. + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 2.2.3 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 2.2.3. + +4. PSF is making Python 2.2.3 available to Licensee on an "AS IS" +basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between PSF and +Licensee. This License Agreement does not grant permission to use PSF +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using Python 2.2.3, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + + +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 + +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the +Individual or Organization ("Licensee") accessing and otherwise using +this software in source or binary form and its associated +documentation ("the Software"). + +2. Subject to the terms and conditions of this BeOpen Python License +Agreement, BeOpen hereby grants Licensee a non-exclusive, +royalty-free, world-wide license to reproduce, analyze, test, perform +and/or display publicly, prepare derivative works, distribute, and +otherwise use the Software alone or in any derivative version, +provided, however, that the BeOpen Python License is retained in the +Software, alone or in any derivative version prepared by Licensee. + +3. BeOpen is making the Software available to Licensee on an "AS IS" +basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +5. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +6. This License Agreement shall be governed by and interpreted in all +respects by the law of the State of California, excluding conflict of +law provisions. Nothing in this License Agreement shall be deemed to +create any relationship of agency, partnership, or joint venture +between BeOpen and Licensee. This License Agreement does not grant +permission to use BeOpen trademarks or trade names in a trademark +sense to endorse or promote products or services of Licensee, or any +third party. As an exception, the "BeOpen Python" logos available at +http://www.pythonlabs.com/logos.html may be used according to the +permissions granted on that web page. + +7. By copying, installing or otherwise using the software, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + + +Copyright (c) 1995-2001 Corporation for National Research Initiatives; +All Rights Reserved + +1. This LICENSE AGREEMENT is between the Corporation for National +Research Initiatives, having an office at 1895 Preston White Drive, +Reston, VA 20191 ("CNRI"), and the Individual or Organization +("Licensee") accessing and otherwise using Python 1.6.1 software in +source or binary form and its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, CNRI +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 1.6.1 +alone or in any derivative version, provided, however, that CNRI's +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) +1995-2001 Corporation for National Research Initiatives; All Rights +Reserved" are retained in Python 1.6.1 alone or in any derivative +version prepared by Licensee. Alternately, in lieu of CNRI's License +Agreement, Licensee may substitute the following text (omitting the +quotes): "Python 1.6.1 is made available subject to the terms and +conditions in CNRI's License Agreement. This Agreement together with +Python 1.6.1 may be located on the Internet using the following +unique, persistent identifier (known as a handle): 1895.22/1013. This +Agreement may also be obtained from a proxy server on the Internet +using the following URL: http://hdl.handle.net/1895.22/1013". + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 1.6.1 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 1.6.1. + +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" +basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. This License Agreement shall be governed by the federal +intellectual property law of the United States, including without +limitation the federal copyright law, and, to the extent such +U.S. federal law does not apply, by the law of the Commonwealth of +Virginia, excluding Virginia's conflict of law provisions. +Notwithstanding the foregoing, with regard to derivative works based +on Python 1.6.1 that incorporate non-separable material that was +previously distributed under the GNU General Public License (GPL), the +law of the Commonwealth of Virginia shall govern this License +Agreement only as to issues arising under or with respect to +Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this +License Agreement shall be deemed to create any relationship of +agency, partnership, or joint venture between CNRI and Licensee. This +License Agreement does not grant permission to use CNRI trademarks or +trade name in a trademark sense to endorse or promote products or +services of Licensee, or any third party. + +8. By clicking on the "ACCEPT" button where indicated, or by copying, +installing or otherwise using Python 1.6.1, Licensee agrees to be +bound by the terms and conditions of this License Agreement. + + + +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, +The Netherlands. All rights reserved. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Stichting Mathematisch +Centrum or CWI not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +
commit 45418152ae74c258eafecc9b2733e37ba75f2630 Author: jesus m. rodriguez jesusr@redhat.com Date: Fri Mar 27 10:25:38 2009 -0400
Automatic commit of package [osad] release [5.9.10-1].
diff --git a/client/tools/osad/osad.spec b/client/tools/osad/osad.spec index dbc4874..f8e6ee9 100644 --- a/client/tools/osad/osad.spec +++ b/client/tools/osad/osad.spec @@ -9,7 +9,7 @@ Group: System Environment/Daemons License: GPLv2 URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... -Version: 5.9.9 +Version: 5.9.10 Release: 1%{?dist} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch @@ -230,6 +230,9 @@ rpm -ql osa-dispatcher | xargs -n 1 /sbin/restorecon -rvvi {}
# $Id$ %changelog +* Fri Mar 27 2009 jesus m. rodriguez jesusr@redhat.com 5.9.10-1 +- added PYTHON-LICENSES.txt file + * Mon Mar 16 2009 Jan Pazdziora 5.9.9-1 - remove /usr/sbin/semanage: Port tcp/1290 already defined error - allow osa-dispatcher to use NIS diff --git a/rel-eng/packages/osad b/rel-eng/packages/osad index ddac004..b4a7786 100644 --- a/rel-eng/packages/osad +++ b/rel-eng/packages/osad @@ -1 +1 @@ -5.9.9-1 client/tools/osad/ +5.9.10-1 client/tools/osad/
commit ac11d09b8b6e7f0a5130d97517ed0d014ca3e848 Author: jesus m. rodriguez jesusr@redhat.com Date: Fri Mar 27 10:24:11 2009 -0400
update copyright and licenses
diff --git a/client/solaris/rhnclient/PYTHON-LICENSES.txt b/client/solaris/rhnclient/PYTHON-LICENSES.txt new file mode 100644 index 0000000..cbb5205 --- /dev/null +++ b/client/solaris/rhnclient/PYTHON-LICENSES.txt @@ -0,0 +1,195 @@ +Some portions of this software incorporate material derived from one +or more releases of Python and covered by the following copyright +notices and licensing terms. + + + +Copyright (c) 2001, 2002, 2003 Python Software Foundation; All Rights +Reserved + +1. This LICENSE AGREEMENT is between the Python Software Foundation +("PSF"), and the Individual or Organization ("Licensee") accessing and +otherwise using Python 2.2.3 software in source or binary form and its +associated documentation. + +2. Subject to the terms and conditions of this License Agreement, PSF +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 2.2.3 +alone or in any derivative version, provided, however, that PSF's +License Agreement and PSF's notice of copyright, i.e., "Copyright (c) +2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are +retained in Python 2.2.3 alone or in any derivative version prepared +by Licensee. + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 2.2.3 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 2.2.3. + +4. PSF is making Python 2.2.3 available to Licensee on an "AS IS" +basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between PSF and +Licensee. This License Agreement does not grant permission to use PSF +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using Python 2.2.3, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + + +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 + +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the +Individual or Organization ("Licensee") accessing and otherwise using +this software in source or binary form and its associated +documentation ("the Software"). + +2. Subject to the terms and conditions of this BeOpen Python License +Agreement, BeOpen hereby grants Licensee a non-exclusive, +royalty-free, world-wide license to reproduce, analyze, test, perform +and/or display publicly, prepare derivative works, distribute, and +otherwise use the Software alone or in any derivative version, +provided, however, that the BeOpen Python License is retained in the +Software, alone or in any derivative version prepared by Licensee. + +3. BeOpen is making the Software available to Licensee on an "AS IS" +basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +5. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +6. This License Agreement shall be governed by and interpreted in all +respects by the law of the State of California, excluding conflict of +law provisions. Nothing in this License Agreement shall be deemed to +create any relationship of agency, partnership, or joint venture +between BeOpen and Licensee. This License Agreement does not grant +permission to use BeOpen trademarks or trade names in a trademark +sense to endorse or promote products or services of Licensee, or any +third party. As an exception, the "BeOpen Python" logos available at +http://www.pythonlabs.com/logos.html may be used according to the +permissions granted on that web page. + +7. By copying, installing or otherwise using the software, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + + +Copyright (c) 1995-2001 Corporation for National Research Initiatives; +All Rights Reserved + +1. This LICENSE AGREEMENT is between the Corporation for National +Research Initiatives, having an office at 1895 Preston White Drive, +Reston, VA 20191 ("CNRI"), and the Individual or Organization +("Licensee") accessing and otherwise using Python 1.6.1 software in +source or binary form and its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, CNRI +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 1.6.1 +alone or in any derivative version, provided, however, that CNRI's +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) +1995-2001 Corporation for National Research Initiatives; All Rights +Reserved" are retained in Python 1.6.1 alone or in any derivative +version prepared by Licensee. Alternately, in lieu of CNRI's License +Agreement, Licensee may substitute the following text (omitting the +quotes): "Python 1.6.1 is made available subject to the terms and +conditions in CNRI's License Agreement. This Agreement together with +Python 1.6.1 may be located on the Internet using the following +unique, persistent identifier (known as a handle): 1895.22/1013. This +Agreement may also be obtained from a proxy server on the Internet +using the following URL: http://hdl.handle.net/1895.22/1013". + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 1.6.1 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 1.6.1. + +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" +basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. This License Agreement shall be governed by the federal +intellectual property law of the United States, including without +limitation the federal copyright law, and, to the extent such +U.S. federal law does not apply, by the law of the Commonwealth of +Virginia, excluding Virginia's conflict of law provisions. +Notwithstanding the foregoing, with regard to derivative works based +on Python 1.6.1 that incorporate non-separable material that was +previously distributed under the GNU General Public License (GPL), the +law of the Commonwealth of Virginia shall govern this License +Agreement only as to issues arising under or with respect to +Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this +License Agreement shall be deemed to create any relationship of +agency, partnership, or joint venture between CNRI and Licensee. This +License Agreement does not grant permission to use CNRI trademarks or +trade name in a trademark sense to endorse or promote products or +services of Licensee, or any third party. + +8. By clicking on the "ACCEPT" button where indicated, or by copying, +installing or otherwise using Python 1.6.1, Licensee agrees to be +bound by the terms and conditions of this License Agreement. + + + +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, +The Netherlands. All rights reserved. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Stichting Mathematisch +Centrum or CWI not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + diff --git a/client/solaris/rhnclient/compile.py b/client/solaris/rhnclient/compile.py index 664f202..847debb 100755 --- a/client/solaris/rhnclient/compile.py +++ b/client/solaris/rhnclient/compile.py @@ -1,10 +1,24 @@ #!/usr/bin/python # +# Copyright (c) 2008 Red Hat, Inc. +# +# This software is licensed to you under the GNU General Public License, +# version 2 (GPLv2). There is NO WARRANTY for this software, express or +# implied, including the implied warranties of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 +# along with this software; if not, see +# http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. +# +# Red Hat trademarks are not licensed under GPLv2. No permission is +# granted to use or replicate Red Hat trademarks that are incorporated +# in this software or its documentation. +# +# # python compiler. "Borrowed" from Python's py_compile module. As # opposed to the Python one, this script returns error codes when a # compile fails, so it can be used from Makefiles # -# $Id: compile.py,v 1.1 2003/09/08 16:31:27 misa Exp $ +# $Id$
import os import sys diff --git a/client/tools/osad/PYTHON-LICENSES.txt b/client/tools/osad/PYTHON-LICENSES.txt new file mode 100644 index 0000000..cbb5205 --- /dev/null +++ b/client/tools/osad/PYTHON-LICENSES.txt @@ -0,0 +1,195 @@ +Some portions of this software incorporate material derived from one +or more releases of Python and covered by the following copyright +notices and licensing terms. + + + +Copyright (c) 2001, 2002, 2003 Python Software Foundation; All Rights +Reserved + +1. This LICENSE AGREEMENT is between the Python Software Foundation +("PSF"), and the Individual or Organization ("Licensee") accessing and +otherwise using Python 2.2.3 software in source or binary form and its +associated documentation. + +2. Subject to the terms and conditions of this License Agreement, PSF +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 2.2.3 +alone or in any derivative version, provided, however, that PSF's +License Agreement and PSF's notice of copyright, i.e., "Copyright (c) +2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are +retained in Python 2.2.3 alone or in any derivative version prepared +by Licensee. + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 2.2.3 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 2.2.3. + +4. PSF is making Python 2.2.3 available to Licensee on an "AS IS" +basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between PSF and +Licensee. This License Agreement does not grant permission to use PSF +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using Python 2.2.3, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + + +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 + +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the +Individual or Organization ("Licensee") accessing and otherwise using +this software in source or binary form and its associated +documentation ("the Software"). + +2. Subject to the terms and conditions of this BeOpen Python License +Agreement, BeOpen hereby grants Licensee a non-exclusive, +royalty-free, world-wide license to reproduce, analyze, test, perform +and/or display publicly, prepare derivative works, distribute, and +otherwise use the Software alone or in any derivative version, +provided, however, that the BeOpen Python License is retained in the +Software, alone or in any derivative version prepared by Licensee. + +3. BeOpen is making the Software available to Licensee on an "AS IS" +basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +5. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +6. This License Agreement shall be governed by and interpreted in all +respects by the law of the State of California, excluding conflict of +law provisions. Nothing in this License Agreement shall be deemed to +create any relationship of agency, partnership, or joint venture +between BeOpen and Licensee. This License Agreement does not grant +permission to use BeOpen trademarks or trade names in a trademark +sense to endorse or promote products or services of Licensee, or any +third party. As an exception, the "BeOpen Python" logos available at +http://www.pythonlabs.com/logos.html may be used according to the +permissions granted on that web page. + +7. By copying, installing or otherwise using the software, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + + +Copyright (c) 1995-2001 Corporation for National Research Initiatives; +All Rights Reserved + +1. This LICENSE AGREEMENT is between the Corporation for National +Research Initiatives, having an office at 1895 Preston White Drive, +Reston, VA 20191 ("CNRI"), and the Individual or Organization +("Licensee") accessing and otherwise using Python 1.6.1 software in +source or binary form and its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, CNRI +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 1.6.1 +alone or in any derivative version, provided, however, that CNRI's +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) +1995-2001 Corporation for National Research Initiatives; All Rights +Reserved" are retained in Python 1.6.1 alone or in any derivative +version prepared by Licensee. Alternately, in lieu of CNRI's License +Agreement, Licensee may substitute the following text (omitting the +quotes): "Python 1.6.1 is made available subject to the terms and +conditions in CNRI's License Agreement. This Agreement together with +Python 1.6.1 may be located on the Internet using the following +unique, persistent identifier (known as a handle): 1895.22/1013. This +Agreement may also be obtained from a proxy server on the Internet +using the following URL: http://hdl.handle.net/1895.22/1013". + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 1.6.1 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 1.6.1. + +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" +basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. This License Agreement shall be governed by the federal +intellectual property law of the United States, including without +limitation the federal copyright law, and, to the extent such +U.S. federal law does not apply, by the law of the Commonwealth of +Virginia, excluding Virginia's conflict of law provisions. +Notwithstanding the foregoing, with regard to derivative works based +on Python 1.6.1 that incorporate non-separable material that was +previously distributed under the GNU General Public License (GPL), the +law of the Commonwealth of Virginia shall govern this License +Agreement only as to issues arising under or with respect to +Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this +License Agreement shall be deemed to create any relationship of +agency, partnership, or joint venture between CNRI and Licensee. This +License Agreement does not grant permission to use CNRI trademarks or +trade name in a trademark sense to endorse or promote products or +services of Licensee, or any third party. + +8. By clicking on the "ACCEPT" button where indicated, or by copying, +installing or otherwise using Python 1.6.1, Licensee agrees to be +bound by the terms and conditions of this License Agreement. + + + +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, +The Netherlands. All rights reserved. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Stichting Mathematisch +Centrum or CWI not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + diff --git a/client/tools/osad/compile.py b/client/tools/osad/compile.py index 0078c33..09bb23c 100755 --- a/client/tools/osad/compile.py +++ b/client/tools/osad/compile.py @@ -13,6 +13,12 @@ # granted to use or replicate Red Hat trademarks that are incorporated # in this software or its documentation. # +# +# python compiler. "Borrowed" from Python's py_compile module. As +# opposed to the Python one, this script returns error codes when a +# compile fails, so it can be used from Makefiles +# +# $Id$
import os import sys diff --git a/client/tools/osad/osad.spec b/client/tools/osad/osad.spec index bccedaa..dbc4874 100644 --- a/client/tools/osad/osad.spec +++ b/client/tools/osad/osad.spec @@ -199,6 +199,7 @@ rpm -ql osa-dispatcher | xargs -n 1 /sbin/restorecon -rvvi {} %config(noreplace) %{client_caps_dir}/* %attr(755,root,root) %{_initrddir}/osad %doc LICENSE +%doc PYTHON-LICENSES.txt
%files -n osa-dispatcher %defattr(-,root,root) @@ -213,6 +214,7 @@ rpm -ql osa-dispatcher | xargs -n 1 /sbin/restorecon -rvvi {} %config(noreplace) %{_sysconfdir}/rhn/default/rhn_osa-dispatcher.conf %attr(755,root,root) %{_initrddir}/osa-dispatcher %doc LICENSE +%doc PYTHON-LICENSES.txt
%if %{include_selinux_package} %files -n osa-dispatcher-selinux @@ -223,6 +225,7 @@ rpm -ql osa-dispatcher | xargs -n 1 /sbin/restorecon -rvvi {} %{_datadir}/selinux/*/%{modulename}.pp %{_datadir}/selinux/devel/include/%{moduletype}/%{modulename}.if %doc LICENSE +%doc PYTHON-LICENSES.txt %endif
# $Id$ diff --git a/client/tools/osad/src/_ConfigParser.py b/client/tools/osad/src/_ConfigParser.py index 4b89f4b..1c6ff37 100644 --- a/client/tools/osad/src/_ConfigParser.py +++ b/client/tools/osad/src/_ConfigParser.py @@ -12,6 +12,7 @@ # granted to use or replicate Red Hat trademarks that are incorporated # in this software or its documentation. # +# Modified from Python 2.x to work with Python 1.5.x
"""Configuration file parser.
diff --git a/client/tools/rhncfg/PYTHON-LICENSES.txt b/client/tools/rhncfg/PYTHON-LICENSES.txt new file mode 100644 index 0000000..cbb5205 --- /dev/null +++ b/client/tools/rhncfg/PYTHON-LICENSES.txt @@ -0,0 +1,195 @@ +Some portions of this software incorporate material derived from one +or more releases of Python and covered by the following copyright +notices and licensing terms. + + + +Copyright (c) 2001, 2002, 2003 Python Software Foundation; All Rights +Reserved + +1. This LICENSE AGREEMENT is between the Python Software Foundation +("PSF"), and the Individual or Organization ("Licensee") accessing and +otherwise using Python 2.2.3 software in source or binary form and its +associated documentation. + +2. Subject to the terms and conditions of this License Agreement, PSF +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 2.2.3 +alone or in any derivative version, provided, however, that PSF's +License Agreement and PSF's notice of copyright, i.e., "Copyright (c) +2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are +retained in Python 2.2.3 alone or in any derivative version prepared +by Licensee. + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 2.2.3 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 2.2.3. + +4. PSF is making Python 2.2.3 available to Licensee on an "AS IS" +basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between PSF and +Licensee. This License Agreement does not grant permission to use PSF +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using Python 2.2.3, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + + +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 + +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the +Individual or Organization ("Licensee") accessing and otherwise using +this software in source or binary form and its associated +documentation ("the Software"). + +2. Subject to the terms and conditions of this BeOpen Python License +Agreement, BeOpen hereby grants Licensee a non-exclusive, +royalty-free, world-wide license to reproduce, analyze, test, perform +and/or display publicly, prepare derivative works, distribute, and +otherwise use the Software alone or in any derivative version, +provided, however, that the BeOpen Python License is retained in the +Software, alone or in any derivative version prepared by Licensee. + +3. BeOpen is making the Software available to Licensee on an "AS IS" +basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +5. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +6. This License Agreement shall be governed by and interpreted in all +respects by the law of the State of California, excluding conflict of +law provisions. Nothing in this License Agreement shall be deemed to +create any relationship of agency, partnership, or joint venture +between BeOpen and Licensee. This License Agreement does not grant +permission to use BeOpen trademarks or trade names in a trademark +sense to endorse or promote products or services of Licensee, or any +third party. As an exception, the "BeOpen Python" logos available at +http://www.pythonlabs.com/logos.html may be used according to the +permissions granted on that web page. + +7. By copying, installing or otherwise using the software, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + + +Copyright (c) 1995-2001 Corporation for National Research Initiatives; +All Rights Reserved + +1. This LICENSE AGREEMENT is between the Corporation for National +Research Initiatives, having an office at 1895 Preston White Drive, +Reston, VA 20191 ("CNRI"), and the Individual or Organization +("Licensee") accessing and otherwise using Python 1.6.1 software in +source or binary form and its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, CNRI +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 1.6.1 +alone or in any derivative version, provided, however, that CNRI's +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) +1995-2001 Corporation for National Research Initiatives; All Rights +Reserved" are retained in Python 1.6.1 alone or in any derivative +version prepared by Licensee. Alternately, in lieu of CNRI's License +Agreement, Licensee may substitute the following text (omitting the +quotes): "Python 1.6.1 is made available subject to the terms and +conditions in CNRI's License Agreement. This Agreement together with +Python 1.6.1 may be located on the Internet using the following +unique, persistent identifier (known as a handle): 1895.22/1013. This +Agreement may also be obtained from a proxy server on the Internet +using the following URL: http://hdl.handle.net/1895.22/1013". + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 1.6.1 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 1.6.1. + +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" +basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. This License Agreement shall be governed by the federal +intellectual property law of the United States, including without +limitation the federal copyright law, and, to the extent such +U.S. federal law does not apply, by the law of the Commonwealth of +Virginia, excluding Virginia's conflict of law provisions. +Notwithstanding the foregoing, with regard to derivative works based +on Python 1.6.1 that incorporate non-separable material that was +previously distributed under the GNU General Public License (GPL), the +law of the Commonwealth of Virginia shall govern this License +Agreement only as to issues arising under or with respect to +Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this +License Agreement shall be deemed to create any relationship of +agency, partnership, or joint venture between CNRI and Licensee. This +License Agreement does not grant permission to use CNRI trademarks or +trade name in a trademark sense to endorse or promote products or +services of Licensee, or any third party. + +8. By clicking on the "ACCEPT" button where indicated, or by copying, +installing or otherwise using Python 1.6.1, Licensee agrees to be +bound by the terms and conditions of this License Agreement. + + + +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, +The Netherlands. All rights reserved. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Stichting Mathematisch +Centrum or CWI not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + diff --git a/client/tools/rhncfg/compile.py b/client/tools/rhncfg/compile.py index 0078c33..09bb23c 100755 --- a/client/tools/rhncfg/compile.py +++ b/client/tools/rhncfg/compile.py @@ -13,6 +13,12 @@ # granted to use or replicate Red Hat trademarks that are incorporated # in this software or its documentation. # +# +# python compiler. "Borrowed" from Python's py_compile module. As +# opposed to the Python one, this script returns error codes when a +# compile fails, so it can be used from Makefiles +# +# $Id$
import os import sys diff --git a/client/tools/rhncustominfo/PYTHON-LICENSES.txt b/client/tools/rhncustominfo/PYTHON-LICENSES.txt new file mode 100644 index 0000000..cbb5205 --- /dev/null +++ b/client/tools/rhncustominfo/PYTHON-LICENSES.txt @@ -0,0 +1,195 @@ +Some portions of this software incorporate material derived from one +or more releases of Python and covered by the following copyright +notices and licensing terms. + + + +Copyright (c) 2001, 2002, 2003 Python Software Foundation; All Rights +Reserved + +1. This LICENSE AGREEMENT is between the Python Software Foundation +("PSF"), and the Individual or Organization ("Licensee") accessing and +otherwise using Python 2.2.3 software in source or binary form and its +associated documentation. + +2. Subject to the terms and conditions of this License Agreement, PSF +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 2.2.3 +alone or in any derivative version, provided, however, that PSF's +License Agreement and PSF's notice of copyright, i.e., "Copyright (c) +2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are +retained in Python 2.2.3 alone or in any derivative version prepared +by Licensee. + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 2.2.3 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 2.2.3. + +4. PSF is making Python 2.2.3 available to Licensee on an "AS IS" +basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between PSF and +Licensee. This License Agreement does not grant permission to use PSF +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using Python 2.2.3, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + + +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 + +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the +Individual or Organization ("Licensee") accessing and otherwise using +this software in source or binary form and its associated +documentation ("the Software"). + +2. Subject to the terms and conditions of this BeOpen Python License +Agreement, BeOpen hereby grants Licensee a non-exclusive, +royalty-free, world-wide license to reproduce, analyze, test, perform +and/or display publicly, prepare derivative works, distribute, and +otherwise use the Software alone or in any derivative version, +provided, however, that the BeOpen Python License is retained in the +Software, alone or in any derivative version prepared by Licensee. + +3. BeOpen is making the Software available to Licensee on an "AS IS" +basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +5. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +6. This License Agreement shall be governed by and interpreted in all +respects by the law of the State of California, excluding conflict of +law provisions. Nothing in this License Agreement shall be deemed to +create any relationship of agency, partnership, or joint venture +between BeOpen and Licensee. This License Agreement does not grant +permission to use BeOpen trademarks or trade names in a trademark +sense to endorse or promote products or services of Licensee, or any +third party. As an exception, the "BeOpen Python" logos available at +http://www.pythonlabs.com/logos.html may be used according to the +permissions granted on that web page. + +7. By copying, installing or otherwise using the software, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + + +Copyright (c) 1995-2001 Corporation for National Research Initiatives; +All Rights Reserved + +1. This LICENSE AGREEMENT is between the Corporation for National +Research Initiatives, having an office at 1895 Preston White Drive, +Reston, VA 20191 ("CNRI"), and the Individual or Organization +("Licensee") accessing and otherwise using Python 1.6.1 software in +source or binary form and its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, CNRI +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 1.6.1 +alone or in any derivative version, provided, however, that CNRI's +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) +1995-2001 Corporation for National Research Initiatives; All Rights +Reserved" are retained in Python 1.6.1 alone or in any derivative +version prepared by Licensee. Alternately, in lieu of CNRI's License +Agreement, Licensee may substitute the following text (omitting the +quotes): "Python 1.6.1 is made available subject to the terms and +conditions in CNRI's License Agreement. This Agreement together with +Python 1.6.1 may be located on the Internet using the following +unique, persistent identifier (known as a handle): 1895.22/1013. This +Agreement may also be obtained from a proxy server on the Internet +using the following URL: http://hdl.handle.net/1895.22/1013". + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 1.6.1 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 1.6.1. + +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" +basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. This License Agreement shall be governed by the federal +intellectual property law of the United States, including without +limitation the federal copyright law, and, to the extent such +U.S. federal law does not apply, by the law of the Commonwealth of +Virginia, excluding Virginia's conflict of law provisions. +Notwithstanding the foregoing, with regard to derivative works based +on Python 1.6.1 that incorporate non-separable material that was +previously distributed under the GNU General Public License (GPL), the +law of the Commonwealth of Virginia shall govern this License +Agreement only as to issues arising under or with respect to +Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this +License Agreement shall be deemed to create any relationship of +agency, partnership, or joint venture between CNRI and Licensee. This +License Agreement does not grant permission to use CNRI trademarks or +trade name in a trademark sense to endorse or promote products or +services of Licensee, or any third party. + +8. By clicking on the "ACCEPT" button where indicated, or by copying, +installing or otherwise using Python 1.6.1, Licensee agrees to be +bound by the terms and conditions of this License Agreement. + + + +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, +The Netherlands. All rights reserved. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Stichting Mathematisch +Centrum or CWI not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + diff --git a/client/tools/rhncustominfo/compile.py b/client/tools/rhncustominfo/compile.py index 0078c33..09bb23c 100755 --- a/client/tools/rhncustominfo/compile.py +++ b/client/tools/rhncustominfo/compile.py @@ -13,6 +13,12 @@ # granted to use or replicate Red Hat trademarks that are incorporated # in this software or its documentation. # +# +# python compiler. "Borrowed" from Python's py_compile module. As +# opposed to the Python one, this script returns error codes when a +# compile fails, so it can be used from Makefiles +# +# $Id$
import os import sys diff --git a/client/tools/spacewalk-koan/PYTHON-LICENSES.txt b/client/tools/spacewalk-koan/PYTHON-LICENSES.txt new file mode 100644 index 0000000..cbb5205 --- /dev/null +++ b/client/tools/spacewalk-koan/PYTHON-LICENSES.txt @@ -0,0 +1,195 @@ +Some portions of this software incorporate material derived from one +or more releases of Python and covered by the following copyright +notices and licensing terms. + + + +Copyright (c) 2001, 2002, 2003 Python Software Foundation; All Rights +Reserved + +1. This LICENSE AGREEMENT is between the Python Software Foundation +("PSF"), and the Individual or Organization ("Licensee") accessing and +otherwise using Python 2.2.3 software in source or binary form and its +associated documentation. + +2. Subject to the terms and conditions of this License Agreement, PSF +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 2.2.3 +alone or in any derivative version, provided, however, that PSF's +License Agreement and PSF's notice of copyright, i.e., "Copyright (c) +2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are +retained in Python 2.2.3 alone or in any derivative version prepared +by Licensee. + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 2.2.3 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 2.2.3. + +4. PSF is making Python 2.2.3 available to Licensee on an "AS IS" +basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between PSF and +Licensee. This License Agreement does not grant permission to use PSF +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using Python 2.2.3, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + + +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 + +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the +Individual or Organization ("Licensee") accessing and otherwise using +this software in source or binary form and its associated +documentation ("the Software"). + +2. Subject to the terms and conditions of this BeOpen Python License +Agreement, BeOpen hereby grants Licensee a non-exclusive, +royalty-free, world-wide license to reproduce, analyze, test, perform +and/or display publicly, prepare derivative works, distribute, and +otherwise use the Software alone or in any derivative version, +provided, however, that the BeOpen Python License is retained in the +Software, alone or in any derivative version prepared by Licensee. + +3. BeOpen is making the Software available to Licensee on an "AS IS" +basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +5. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +6. This License Agreement shall be governed by and interpreted in all +respects by the law of the State of California, excluding conflict of +law provisions. Nothing in this License Agreement shall be deemed to +create any relationship of agency, partnership, or joint venture +between BeOpen and Licensee. This License Agreement does not grant +permission to use BeOpen trademarks or trade names in a trademark +sense to endorse or promote products or services of Licensee, or any +third party. As an exception, the "BeOpen Python" logos available at +http://www.pythonlabs.com/logos.html may be used according to the +permissions granted on that web page. + +7. By copying, installing or otherwise using the software, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + + +Copyright (c) 1995-2001 Corporation for National Research Initiatives; +All Rights Reserved + +1. This LICENSE AGREEMENT is between the Corporation for National +Research Initiatives, having an office at 1895 Preston White Drive, +Reston, VA 20191 ("CNRI"), and the Individual or Organization +("Licensee") accessing and otherwise using Python 1.6.1 software in +source or binary form and its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, CNRI +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 1.6.1 +alone or in any derivative version, provided, however, that CNRI's +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) +1995-2001 Corporation for National Research Initiatives; All Rights +Reserved" are retained in Python 1.6.1 alone or in any derivative +version prepared by Licensee. Alternately, in lieu of CNRI's License +Agreement, Licensee may substitute the following text (omitting the +quotes): "Python 1.6.1 is made available subject to the terms and +conditions in CNRI's License Agreement. This Agreement together with +Python 1.6.1 may be located on the Internet using the following +unique, persistent identifier (known as a handle): 1895.22/1013. This +Agreement may also be obtained from a proxy server on the Internet +using the following URL: http://hdl.handle.net/1895.22/1013". + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 1.6.1 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 1.6.1. + +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" +basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. This License Agreement shall be governed by the federal +intellectual property law of the United States, including without +limitation the federal copyright law, and, to the extent such +U.S. federal law does not apply, by the law of the Commonwealth of +Virginia, excluding Virginia's conflict of law provisions. +Notwithstanding the foregoing, with regard to derivative works based +on Python 1.6.1 that incorporate non-separable material that was +previously distributed under the GNU General Public License (GPL), the +law of the Commonwealth of Virginia shall govern this License +Agreement only as to issues arising under or with respect to +Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this +License Agreement shall be deemed to create any relationship of +agency, partnership, or joint venture between CNRI and Licensee. This +License Agreement does not grant permission to use CNRI trademarks or +trade name in a trademark sense to endorse or promote products or +services of Licensee, or any third party. + +8. By clicking on the "ACCEPT" button where indicated, or by copying, +installing or otherwise using Python 1.6.1, Licensee agrees to be +bound by the terms and conditions of this License Agreement. + + + +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, +The Netherlands. All rights reserved. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Stichting Mathematisch +Centrum or CWI not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + diff --git a/client/tools/spacewalk-koan/compile.py b/client/tools/spacewalk-koan/compile.py index 0078c33..09bb23c 100755 --- a/client/tools/spacewalk-koan/compile.py +++ b/client/tools/spacewalk-koan/compile.py @@ -13,6 +13,12 @@ # granted to use or replicate Red Hat trademarks that are incorporated # in this software or its documentation. # +# +# python compiler. "Borrowed" from Python's py_compile module. As +# opposed to the Python one, this script returns error codes when a +# compile fails, so it can be used from Makefiles +# +# $Id$
import os import sys diff --git a/proxy/proxy/PYTHON-LICENSES.txt b/proxy/proxy/PYTHON-LICENSES.txt new file mode 100644 index 0000000..cbb5205 --- /dev/null +++ b/proxy/proxy/PYTHON-LICENSES.txt @@ -0,0 +1,195 @@ +Some portions of this software incorporate material derived from one +or more releases of Python and covered by the following copyright +notices and licensing terms. + + + +Copyright (c) 2001, 2002, 2003 Python Software Foundation; All Rights +Reserved + +1. This LICENSE AGREEMENT is between the Python Software Foundation +("PSF"), and the Individual or Organization ("Licensee") accessing and +otherwise using Python 2.2.3 software in source or binary form and its +associated documentation. + +2. Subject to the terms and conditions of this License Agreement, PSF +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 2.2.3 +alone or in any derivative version, provided, however, that PSF's +License Agreement and PSF's notice of copyright, i.e., "Copyright (c) +2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are +retained in Python 2.2.3 alone or in any derivative version prepared +by Licensee. + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 2.2.3 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 2.2.3. + +4. PSF is making Python 2.2.3 available to Licensee on an "AS IS" +basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between PSF and +Licensee. This License Agreement does not grant permission to use PSF +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using Python 2.2.3, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + + +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 + +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the +Individual or Organization ("Licensee") accessing and otherwise using +this software in source or binary form and its associated +documentation ("the Software"). + +2. Subject to the terms and conditions of this BeOpen Python License +Agreement, BeOpen hereby grants Licensee a non-exclusive, +royalty-free, world-wide license to reproduce, analyze, test, perform +and/or display publicly, prepare derivative works, distribute, and +otherwise use the Software alone or in any derivative version, +provided, however, that the BeOpen Python License is retained in the +Software, alone or in any derivative version prepared by Licensee. + +3. BeOpen is making the Software available to Licensee on an "AS IS" +basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +5. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +6. This License Agreement shall be governed by and interpreted in all +respects by the law of the State of California, excluding conflict of +law provisions. Nothing in this License Agreement shall be deemed to +create any relationship of agency, partnership, or joint venture +between BeOpen and Licensee. This License Agreement does not grant +permission to use BeOpen trademarks or trade names in a trademark +sense to endorse or promote products or services of Licensee, or any +third party. As an exception, the "BeOpen Python" logos available at +http://www.pythonlabs.com/logos.html may be used according to the +permissions granted on that web page. + +7. By copying, installing or otherwise using the software, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + + +Copyright (c) 1995-2001 Corporation for National Research Initiatives; +All Rights Reserved + +1. This LICENSE AGREEMENT is between the Corporation for National +Research Initiatives, having an office at 1895 Preston White Drive, +Reston, VA 20191 ("CNRI"), and the Individual or Organization +("Licensee") accessing and otherwise using Python 1.6.1 software in +source or binary form and its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, CNRI +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 1.6.1 +alone or in any derivative version, provided, however, that CNRI's +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) +1995-2001 Corporation for National Research Initiatives; All Rights +Reserved" are retained in Python 1.6.1 alone or in any derivative +version prepared by Licensee. Alternately, in lieu of CNRI's License +Agreement, Licensee may substitute the following text (omitting the +quotes): "Python 1.6.1 is made available subject to the terms and +conditions in CNRI's License Agreement. This Agreement together with +Python 1.6.1 may be located on the Internet using the following +unique, persistent identifier (known as a handle): 1895.22/1013. This +Agreement may also be obtained from a proxy server on the Internet +using the following URL: http://hdl.handle.net/1895.22/1013". + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 1.6.1 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 1.6.1. + +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" +basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. This License Agreement shall be governed by the federal +intellectual property law of the United States, including without +limitation the federal copyright law, and, to the extent such +U.S. federal law does not apply, by the law of the Commonwealth of +Virginia, excluding Virginia's conflict of law provisions. +Notwithstanding the foregoing, with regard to derivative works based +on Python 1.6.1 that incorporate non-separable material that was +previously distributed under the GNU General Public License (GPL), the +law of the Commonwealth of Virginia shall govern this License +Agreement only as to issues arising under or with respect to +Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this +License Agreement shall be deemed to create any relationship of +agency, partnership, or joint venture between CNRI and Licensee. This +License Agreement does not grant permission to use CNRI trademarks or +trade name in a trademark sense to endorse or promote products or +services of Licensee, or any third party. + +8. By clicking on the "ACCEPT" button where indicated, or by copying, +installing or otherwise using Python 1.6.1, Licensee agrees to be +bound by the terms and conditions of this License Agreement. + + + +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, +The Netherlands. All rights reserved. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Stichting Mathematisch +Centrum or CWI not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + diff --git a/proxy/proxy/compile.py b/proxy/proxy/compile.py index 3ec4f74..847debb 100755 --- a/proxy/proxy/compile.py +++ b/proxy/proxy/compile.py @@ -13,11 +13,12 @@ # granted to use or replicate Red Hat trademarks that are incorporated # in this software or its documentation. # +# # python compiler. "Borrowed" from Python's py_compile module. As # opposed to the Python one, this script returns error codes when a # compile fails, so it can be used from Makefiles # -# $Id: compile.py,v 1.3 2002/08/27 22:34:52 taw Exp $ +# $Id$
import os import sys diff --git a/spacewalk/certs-tools/PYTHON-LICENSES.txt b/spacewalk/certs-tools/PYTHON-LICENSES.txt new file mode 100644 index 0000000..cbb5205 --- /dev/null +++ b/spacewalk/certs-tools/PYTHON-LICENSES.txt @@ -0,0 +1,195 @@ +Some portions of this software incorporate material derived from one +or more releases of Python and covered by the following copyright +notices and licensing terms. + + + +Copyright (c) 2001, 2002, 2003 Python Software Foundation; All Rights +Reserved + +1. This LICENSE AGREEMENT is between the Python Software Foundation +("PSF"), and the Individual or Organization ("Licensee") accessing and +otherwise using Python 2.2.3 software in source or binary form and its +associated documentation. + +2. Subject to the terms and conditions of this License Agreement, PSF +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 2.2.3 +alone or in any derivative version, provided, however, that PSF's +License Agreement and PSF's notice of copyright, i.e., "Copyright (c) +2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are +retained in Python 2.2.3 alone or in any derivative version prepared +by Licensee. + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 2.2.3 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 2.2.3. + +4. PSF is making Python 2.2.3 available to Licensee on an "AS IS" +basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between PSF and +Licensee. This License Agreement does not grant permission to use PSF +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using Python 2.2.3, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + + +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 + +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the +Individual or Organization ("Licensee") accessing and otherwise using +this software in source or binary form and its associated +documentation ("the Software"). + +2. Subject to the terms and conditions of this BeOpen Python License +Agreement, BeOpen hereby grants Licensee a non-exclusive, +royalty-free, world-wide license to reproduce, analyze, test, perform +and/or display publicly, prepare derivative works, distribute, and +otherwise use the Software alone or in any derivative version, +provided, however, that the BeOpen Python License is retained in the +Software, alone or in any derivative version prepared by Licensee. + +3. BeOpen is making the Software available to Licensee on an "AS IS" +basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +5. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +6. This License Agreement shall be governed by and interpreted in all +respects by the law of the State of California, excluding conflict of +law provisions. Nothing in this License Agreement shall be deemed to +create any relationship of agency, partnership, or joint venture +between BeOpen and Licensee. This License Agreement does not grant +permission to use BeOpen trademarks or trade names in a trademark +sense to endorse or promote products or services of Licensee, or any +third party. As an exception, the "BeOpen Python" logos available at +http://www.pythonlabs.com/logos.html may be used according to the +permissions granted on that web page. + +7. By copying, installing or otherwise using the software, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + + +Copyright (c) 1995-2001 Corporation for National Research Initiatives; +All Rights Reserved + +1. This LICENSE AGREEMENT is between the Corporation for National +Research Initiatives, having an office at 1895 Preston White Drive, +Reston, VA 20191 ("CNRI"), and the Individual or Organization +("Licensee") accessing and otherwise using Python 1.6.1 software in +source or binary form and its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, CNRI +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 1.6.1 +alone or in any derivative version, provided, however, that CNRI's +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) +1995-2001 Corporation for National Research Initiatives; All Rights +Reserved" are retained in Python 1.6.1 alone or in any derivative +version prepared by Licensee. Alternately, in lieu of CNRI's License +Agreement, Licensee may substitute the following text (omitting the +quotes): "Python 1.6.1 is made available subject to the terms and +conditions in CNRI's License Agreement. This Agreement together with +Python 1.6.1 may be located on the Internet using the following +unique, persistent identifier (known as a handle): 1895.22/1013. This +Agreement may also be obtained from a proxy server on the Internet +using the following URL: http://hdl.handle.net/1895.22/1013". + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 1.6.1 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 1.6.1. + +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" +basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. This License Agreement shall be governed by the federal +intellectual property law of the United States, including without +limitation the federal copyright law, and, to the extent such +U.S. federal law does not apply, by the law of the Commonwealth of +Virginia, excluding Virginia's conflict of law provisions. +Notwithstanding the foregoing, with regard to derivative works based +on Python 1.6.1 that incorporate non-separable material that was +previously distributed under the GNU General Public License (GPL), the +law of the Commonwealth of Virginia shall govern this License +Agreement only as to issues arising under or with respect to +Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this +License Agreement shall be deemed to create any relationship of +agency, partnership, or joint venture between CNRI and Licensee. This +License Agreement does not grant permission to use CNRI trademarks or +trade name in a trademark sense to endorse or promote products or +services of Licensee, or any third party. + +8. By clicking on the "ACCEPT" button where indicated, or by copying, +installing or otherwise using Python 1.6.1, Licensee agrees to be +bound by the terms and conditions of this License Agreement. + + + +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, +The Netherlands. All rights reserved. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Stichting Mathematisch +Centrum or CWI not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + diff --git a/spacewalk/certs-tools/compile.py b/spacewalk/certs-tools/compile.py index 1aaba0f..847debb 100755 --- a/spacewalk/certs-tools/compile.py +++ b/spacewalk/certs-tools/compile.py @@ -13,6 +13,7 @@ # granted to use or replicate Red Hat trademarks that are incorporated # in this software or its documentation. # +# # python compiler. "Borrowed" from Python's py_compile module. As # opposed to the Python one, this script returns error codes when a # compile fails, so it can be used from Makefiles
commit 95b1bb00562da01a76422a87ef402e9fe2cb7028 Author: Tomas Lestach tlestach@redhat.com Date: Fri Mar 27 15:04:40 2009 +0100
469413 - included build number to the installation log file
- tree-name extracted from the .composeinfo and stored to the installation log file (as build id) - format of the 1st line of installation log file changed not to exceed 80chars/line and to prevent changes in several files
diff --git a/satellite/install/install.pl b/satellite/install/install.pl index 0defa7f..42cc50b 100755 --- a/satellite/install/install.pl +++ b/satellite/install/install.pl @@ -960,8 +960,9 @@ sub install_rhn_packages {
sub get_product_name { my $composeinfo_file = ".composeinfo"; - my $productName = "RHN Satellite"; - my $productVersion, my $productSection; + my $productName = "RHN Satellite", my $treeName; + my $productVersion; + my $productSection, my $treeSection;
open(CINFO, $composeinfo_file) || return $productName;
@@ -970,6 +971,7 @@ sub get_product_name {
if ($line =~ /^[(.+)]$/) { $productSection = ($1 eq "product"); + $treeSection = ($1 eq "tree"); }
if ($productSection) { @@ -982,11 +984,20 @@ sub get_product_name { }
} + + if ($treeSection) { + + if ($line =~ /^name\s*=\s*(.+)$/) { + $treeName = $1; + } + } } close(CINFO);
- if (defined $productVersion) { return "$productName $productVersion"; } - else { return "$productName"; } + if (defined $productVersion) { $productName .= " $productVersion"; } + if (defined $treeName) { $productName .= "\n($treeName)"; } + + return "$productName"; }
diff --git a/spacewalk/setup/lib/Spacewalk/Setup.pm b/spacewalk/setup/lib/Spacewalk/Setup.pm index 8c1b845..64559ea 100644 --- a/spacewalk/setup/lib/Spacewalk/Setup.pm +++ b/spacewalk/setup/lib/Spacewalk/Setup.pm @@ -348,7 +348,7 @@ sub init_log_files { or die "Could not open '" . INSTALL_LOG_FILE . "': $!";
- my $log_header = "$product_name installation log.\nCommand: " + my $log_header = "Installation log of $product_name\nCommand: " . $0 . " " . join(" ", @args) . "\n\n";
print FH $log_header;
commit 353a1f85be8511a6acc9a52fb2f9f3ac82b8941c Author: Devan Goodwin dgoodwin@redhat.com Date: Fri Mar 27 10:24:23 2009 -0300
Automatic commit of package [spacewalk-certs-tools] release [0.5.5-1].
diff --git a/rel-eng/packages/spacewalk-certs-tools b/rel-eng/packages/spacewalk-certs-tools index b0df5d4..c45a96f 100644 --- a/rel-eng/packages/spacewalk-certs-tools +++ b/rel-eng/packages/spacewalk-certs-tools @@ -1 +1 @@ -0.5.4-1 spacewalk/certs-tools/ +0.5.5-1 spacewalk/certs-tools/ diff --git a/spacewalk/certs-tools/spacewalk-certs-tools.spec b/spacewalk/certs-tools/spacewalk-certs-tools.spec index e0f6a29..5e7362f 100644 --- a/spacewalk/certs-tools/spacewalk-certs-tools.spec +++ b/spacewalk/certs-tools/spacewalk-certs-tools.spec @@ -2,7 +2,7 @@ Name: spacewalk-certs-tools Summary: Spacewalk SSL Key/Cert Tool Group: Applications/Internet License: GPLv2 -Version: 0.5.4 +Version: 0.5.5 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -50,6 +50,9 @@ rm -rf $RPM_BUILD_ROOT %{_var}/www/html/pub/bootstrap/client_config_update.py*
%changelog +* Fri Mar 27 2009 Devan Goodwin dgoodwin@redhat.com 0.5.5-1 +- Update for new jabberd cert location, and possiblity of jabber user instead of jabberd. + * Wed Mar 25 2009 Jan Pazdziora 0.5.4-1 - 491687 - wrapper around sudo /usr/bin/rhn-ssl-tool, to change SELinux domain
commit 023fc16f4aca7c477730246f945200290c6f2f52 Author: Devan Goodwin dgoodwin@redhat.com Date: Fri Mar 27 10:15:24 2009 -0300
Update rhn ssl tool for new jabberd cert and users.
diff --git a/spacewalk/certs-tools/rhn_ssl_tool.py b/spacewalk/certs-tools/rhn_ssl_tool.py index 8cac1c4..c529ad8 100755 --- a/spacewalk/certs-tools/rhn_ssl_tool.py +++ b/spacewalk/certs-tools/rhn_ssl_tool.py @@ -36,6 +36,7 @@ import os import sys import glob +import pwd import time import string import shutil @@ -939,7 +940,6 @@ def genServerRpm_dependencies(d): except FailedFileDependencyException: gen_jabberd_cert(d)
- def genServerRpm(d, verbosity=0): """ generates server's SSL key set RPM """
@@ -1014,6 +1014,19 @@ def genServerRpm(d, verbosity=0): Best practices suggests that this RPM should only be installed on the web server with this hostname: %s """ % d['--set-hostname'] + + # Determine which jabberd user exists: + jabberd_user = None + possible_jabberd_users = ['jabberd', 'jabber'] + for juser_attempt in possible_jabberd_users: + try: + pwd.getpwnam(juser_attempt) + jabberd_user = juser_attempt + except: + # user doesn't exist, try the next + pass + if jabberd_user is None: + raise Exception("No jabber/jabberd user on system")
## build the server RPM args = (os.path.join(CERT_PATH, 'gen-rpm.sh') + " " @@ -1022,7 +1035,7 @@ server with this hostname: %s "/etc/httpd/conf/ssl.key/server.key:0600=%s " "/etc/httpd/conf/ssl.csr/server.csr=%s " "/etc/httpd/conf/ssl.crt/server.crt=%s " - "/etc/jabberd/server.pem:0600,jabberd,jabberd=%s" + "/etc/pki/spacewalk/jabberd/server.pem:0600,%s,%s=%s" % (repr(server_rpm_name), ver, rel, repr(d['--rpm-packager']), repr(d['--rpm-vendor']), repr(SERVER_RPM_SUMMARY), repr(description), @@ -1030,6 +1043,8 @@ server with this hostname: %s repr(cleanupAbsPath(server_key)), repr(cleanupAbsPath(server_cert_req)), repr(cleanupAbsPath(server_cert)), + jabberd_user, + jabberd_user, repr(cleanupAbsPath(jabberd_ssl_cert)), )) serverRpmName = "%s-%s-%s" % (server_rpm, ver, rel)
commit 8da83dcf0ebe8dd55c84c488dbc884a859fa4148 Author: Milan Zazrivec mzazrivec@redhat.com Date: Fri Mar 27 11:49:05 2009 +0100
replace grep with awk
diff --git a/backend/satellite_tools/rhn-db-stats b/backend/satellite_tools/rhn-db-stats index 8864bb8..883eacb 100755 --- a/backend/satellite_tools/rhn-db-stats +++ b/backend/satellite_tools/rhn-db-stats @@ -5,7 +5,7 @@ if [ $# -lt 1 -o $# -gt 2 ]; then exit fi
-CONNECT=$(grep default_db /etc/rhn/rhn.conf | awk '{split($0,a,"="); print a[2]}') +CONNECT=$(awk '/default_db/ {split($0,a,"="); print a[2]}' /etc/rhn/rhn.conf) [ -n "$2" ] && CONNECT=$2
sqlplus $CONNECT >& /dev/null << EOS
commit fdb8c7c881c17ca0c7899e6bfe03e58502586b52 Author: Jan Pazdziora jpazdziora@redhat.com Date: Fri Mar 27 11:26:27 2009 +0100
Automatic commit of package [spacewalk-setup] release [0.5.27-1].
diff --git a/rel-eng/packages/spacewalk-setup b/rel-eng/packages/spacewalk-setup index c8425ae..fb1a8e2 100644 --- a/rel-eng/packages/spacewalk-setup +++ b/rel-eng/packages/spacewalk-setup @@ -1 +1 @@ -0.5.26-1 spacewalk/setup/ +0.5.27-1 spacewalk/setup/ diff --git a/spacewalk/setup/spacewalk-setup.spec b/spacewalk/setup/spacewalk-setup.spec index c635d26..b22479b 100644 --- a/spacewalk/setup/spacewalk-setup.spec +++ b/spacewalk/setup/spacewalk-setup.spec @@ -1,5 +1,5 @@ Name: spacewalk-setup -Version: 0.5.26 +Version: 0.5.27 Release: 1%{?dist} Summary: Initial setup tools for Red Hat Spacewalk
@@ -94,6 +94,9 @@ rm -rf %{buildroot} %dir %{_sysconfdir}/pki/spacewalk/jabberd
%changelog +* Fri Mar 27 2009 Jan Pazdziora 0.5.27-1 +- 492194 - address spacewalk-setup hanging while Restarting services. + * Thu Mar 26 2009 Milan Zazrivec mzazrivec@redhat.com 0.5.26-1 - update message at the end of upgrade setup
commit 66f35d59c2f4d1771e0b17086a5f85f7c151982f Author: Jan Pazdziora jpazdziora@redhat.com Date: Fri Mar 27 10:54:37 2009 +0100
492194 - call waitpid even if reading PROCESS_OUT did not return eof.
One of the jabberd daemons on Fedora 10 seems not to close its stdout, so doing just while (<PROCESS_OUT>) blocks forever. Therefor we will do select'n'sysread, to have a chance to see if the child is ready to be reaped even if we did not get eof.
diff --git a/spacewalk/setup/lib/Spacewalk/Setup.pm b/spacewalk/setup/lib/Spacewalk/Setup.pm index abc9f3e..8c1b845 100644 --- a/spacewalk/setup/lib/Spacewalk/Setup.pm +++ b/spacewalk/setup/lib/Spacewalk/Setup.pm @@ -221,11 +221,33 @@ sub system_debug { local *PROCESS_OUT; set_spinning_callback(); my $pid = open3(gensym, *PROCESS_OUT, *PROCESS_OUT, @args); - while (<PROCESS_OUT>) { - print LOGFILE $_; + my ($vecin, $vecout) = ('', ''); + vec($vecin, fileno(PROCESS_OUT), 1) = 1; + my $ret; + # Some programs that daemonize themselves do not close their stdout, + # so doing just while (<PROCESS_OUT>) would block forever. That's why + # we try to select'n'sysread, to have a chance to see if the child + # is ready to be reaped, even if we did not get eof. + while (1) { + if (select($vecout=$vecin, undef, undef, 10) > 0) { + my $buffer; + if (sysread(PROCESS_OUT, $buffer, 4096) > 0) { + print LOGFILE $buffer; + redo; + } + } + my $pidout = waitpid($pid, WNOHANG); + if ($pidout < 0) { + print LOGFILE "We've lost the child [@args] pid [$pid]\n"; + $ret = -1; + last; + } + if ($pidout) { + $ret = $?; + last; + } } - waitpid($pid, 0); - my $ret = $?; + close PROCESS_OUT; close LOGFILE; alarm 0; return $ret;
commit c06a0904fff132c8a1aad8d340cc898563c13ac0 Author: jesus m. rodriguez jesusr@redhat.com Date: Thu Mar 26 23:07:36 2009 -0400
add the forgotten ")
diff --git a/rel-eng/lib/spacewalk/releng/builder.py b/rel-eng/lib/spacewalk/releng/builder.py index f585e1c..5a42d24 100644 --- a/rel-eng/lib/spacewalk/releng/builder.py +++ b/rel-eng/lib/spacewalk/releng/builder.py @@ -426,7 +426,7 @@ class Builder(object): print("")
os.chdir(self.cvs_package_workdir) - (status, output) = commands.getstatusoutput("cvs diff -u + (status, output) = commands.getstatusoutput("cvs diff -u") print(output)
print("")
commit 904e2d79eb1f48e3c8f3924cefc42c3f18c94399 Author: jesus m. rodriguez jesusr@redhat.com Date: Thu Mar 26 23:04:48 2009 -0400
ignore the -sat suffix
diff --git a/rel-eng/koji-missing-builds.py b/rel-eng/koji-missing-builds.py index 5f7e4d8..cfc4514 100755 --- a/rel-eng/koji-missing-builds.py +++ b/rel-eng/koji-missing-builds.py @@ -74,7 +74,7 @@ for pkg in pkgfileList: pkginfo = fd.read() fd.close() pkginfo = pkginfo.split() - pkglist.append("%s-%s" % (pkg, pkginfo[0])) + pkglist.append("%s-%s" % (pkg, pkginfo[0].rstrip('-' + distsuffix))) gitnames.append(pkg)
pkglist.sort()
commit 17b36c25ab1314694e7e47cf9d9895c4b601a125 Author: Dennis Gilmore dennis@ausil.us Date: Thu Mar 26 21:30:02 2009 -0500
call "cvs diff -u" rather than "cvs diff"
diff --git a/rel-eng/lib/spacewalk/releng/builder.py b/rel-eng/lib/spacewalk/releng/builder.py index 9c9887b..f585e1c 100644 --- a/rel-eng/lib/spacewalk/releng/builder.py +++ b/rel-eng/lib/spacewalk/releng/builder.py @@ -419,14 +419,14 @@ class Builder(object): def _cvs_user_confirm_commit(self): """ Prompt user if they wish to proceed with commit. """ print("") - text = "Running 'cvs diff' in: %s" % self.cvs_package_workdir + text = "Running 'cvs diff -u' in: %s" % self.cvs_package_workdir print("#" * len(text)) print(text) print("#" * len(text)) print("")
os.chdir(self.cvs_package_workdir) - (status, output) = commands.getstatusoutput("cvs diff") + (status, output) = commands.getstatusoutput("cvs diff -u print(output)
print("")
commit 392392bc9ecc9217eefe45a4d4cd1cdbf149fbbe Author: jesus m. rodriguez jesusr@redhat.com Date: Thu Mar 26 17:43:37 2009 -0400
Automatic commit of package [rhncfg] release [5.9.5-1].
diff --git a/client/tools/rhncfg/rhncfg.spec b/client/tools/rhncfg/rhncfg.spec index d5152cc..a1ce7ca 100644 --- a/client/tools/rhncfg/rhncfg.spec +++ b/client/tools/rhncfg/rhncfg.spec @@ -8,7 +8,7 @@ Group: Applications/System License: GPLv2 URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... -Version: 5.9.4 +Version: 5.9.5 Release: 1%{?dist} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch @@ -104,6 +104,9 @@ rm -rf $RPM_BUILD_ROOT
# $Id$ %changelog +* Thu Mar 26 2009 jesus m. rodriguez jesusr@redhat.com 5.9.5-1 +- 430885 - gracefuly ignore dir diffs instead of treating them as missing files + * Tue Mar 17 2009 Miroslav Suchy msuchy@redhat.com 5.9.4-1 - Polish the spec according Fedora Packaging Guidelines
diff --git a/rel-eng/packages/rhncfg b/rel-eng/packages/rhncfg index 620f50e..9d886a1 100644 --- a/rel-eng/packages/rhncfg +++ b/rel-eng/packages/rhncfg @@ -1 +1 @@ -5.9.4-1 client/tools/rhncfg/ +5.9.5-1 client/tools/rhncfg/
commit 61ad90eb2f0f1d0fe9fdf46e66ac8dee69bea756 Author: jesus m. rodriguez jesusr@redhat.com Date: Thu Mar 26 17:27:00 2009 -0400
Automatic commit of package [spacewalk-java] release [0.5.41-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec index c19c8fb..e21e2b0 100644 --- a/java/spacewalk-java.spec +++ b/java/spacewalk-java.spec @@ -10,7 +10,7 @@ Name: spacewalk-java Summary: Spacewalk Java site packages Group: Applications/Internet License: GPLv2 -Version: 0.5.40 +Version: 0.5.41 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -235,6 +235,16 @@ fi %attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog +* Thu Mar 26 2009 jesus m. rodriguez jesusr@redhat.com 0.5.41-1 +- 437359 - redirect org creation to the orgsystemsubscription page +- 489007 - add system.getConnectionPath for listing proxies a server connected through +- 489736 - generate non-expiring kickstart package download url +- 489736 - download_url_lifetime of 0 disables expiration server wide +- 489736 - can disable expiration by package name by non_expirable_package_urls +- 489486 - added updated message when changing channel access from public to private +- Adding support for comps info to be added to repomd.xml. +- Updated documentation + * Thu Mar 26 2009 Mike McCune mmccune@gmail.com 0.5.40-1 - 492137 - fixing ISE for virt
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java index 75675aa..00a9c44 100644 --- a/rel-eng/packages/spacewalk-java +++ b/rel-eng/packages/spacewalk-java @@ -1 +1 @@ -0.5.40-1 java/ +0.5.41-1 java/
commit ad4b1335d616249b858e389067c756d8119dd8bf Author: jesus m. rodriguez jesusr@redhat.com Date: Thu Mar 26 17:08:42 2009 -0400
Automatic commit of package [spacewalk-web] release [0.5.23-1].
diff --git a/rel-eng/packages/spacewalk-web b/rel-eng/packages/spacewalk-web index 5acbd86..ffc29fa 100644 --- a/rel-eng/packages/spacewalk-web +++ b/rel-eng/packages/spacewalk-web @@ -1 +1 @@ -0.5.22-1 web/ +0.5.23-1 web/ diff --git a/web/spacewalk-web.spec b/web/spacewalk-web.spec index d97eac7..8920a30 100644 --- a/web/spacewalk-web.spec +++ b/web/spacewalk-web.spec @@ -2,7 +2,7 @@ Name: spacewalk-web Summary: Spacewalk Web site packages Group: Applications/Internet License: GPLv2 -Version: 0.5.22 +Version: 0.5.23 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -318,6 +318,11 @@ rm -rf $RPM_BUILD_ROOT
# $Id$ %changelog +* Thu Mar 26 2009 jesus m. rodriguez jesusr@redhat.com 0.5.23-1 +- 489736 - generate non-expiring kickstart package download url +- 489736 - download_url_lifetime of 0 disables expiration server wide +- 489736 - can disable experiation by package name by non_expirable_package_urls + * Thu Mar 26 2009 Miroslav Suchy msuchy@redhat.com 0.5.22-1 - 491667 - do not fail if none of the packages are installed - code cleanup - remove 3.6 and 3.7 proxy installer (EOL)
commit ce87da8495877770796ef35d006c2a3f128645bb Author: jesus m. rodriguez jesusr@redhat.com Date: Thu Mar 26 16:57:55 2009 -0400
Automatic commit of package [spacewalk-branding] release [0.5.8-1].
diff --git a/branding/spacewalk-branding.spec b/branding/spacewalk-branding.spec index 547ea52..6be2f68 100644 --- a/branding/spacewalk-branding.spec +++ b/branding/spacewalk-branding.spec @@ -1,5 +1,5 @@ Name: spacewalk-branding -Version: 0.5.7 +Version: 0.5.8 Release: 1%{?dist} Summary: Spacewalk branding data
@@ -68,6 +68,9 @@ rm -rf %{buildroot}
%changelog +* Thu Mar 26 2009 jesus m. rodriguez jesusr@redhat.com 0.5.8-1 +- removing satellite-debug link + * Wed Feb 18 2009 Brad Buckingham bbuckingham@redhat.com 0.5.7-1 - adding rhn_docs.conf to enable configurable docs location
diff --git a/rel-eng/packages/spacewalk-branding b/rel-eng/packages/spacewalk-branding index b1fcd0e..ed715e3 100644 --- a/rel-eng/packages/spacewalk-branding +++ b/rel-eng/packages/spacewalk-branding @@ -1 +1 @@ -0.5.7-1 branding/ +0.5.8-1 branding/
commit fb224539af0675db5080364ec3836cbef31af27f Author: Shannon Hughes shughes@redhat.com Date: Thu Mar 26 16:23:25 2009 -0400
437359 - redirecting successful org creation to the orgsystemsubscription page to aid in entitlement population
diff --git a/java/code/src/com/redhat/rhn/frontend/action/multiorg/OrgCreateAction.java b/java/code/src/com/redhat/rhn/frontend/action/multiorg/OrgCreateAction.java index ed2e865..24847d4 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/multiorg/OrgCreateAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/multiorg/OrgCreateAction.java @@ -27,6 +27,7 @@ import com.redhat.rhn.common.conf.Config; import com.redhat.rhn.common.util.MD5Crypt; import com.redhat.rhn.common.validator.ValidatorError; import com.redhat.rhn.frontend.action.user.UserActionHelper; +import com.redhat.rhn.frontend.struts.RequestContext; import com.redhat.rhn.frontend.struts.RhnAction; import com.redhat.rhn.frontend.struts.RhnValidationHelper; import com.redhat.rhn.manager.org.CreateOrgCommand; @@ -125,7 +126,9 @@ public class OrgCreateAction extends RhnAction { else { createSuccessMessage(request, "org.create.success", cmd.getNewOrg().getName()); - retval = mapping.findForward("success"); + retval = getStrutsDelegate(). + forwardParam(mapping.findForward("success"), + RequestContext.ORG_ID, cmd.getNewOrg().getId().toString()); } } } diff --git a/java/code/webapp/WEB-INF/struts-config.xml b/java/code/webapp/WEB-INF/struts-config.xml index eaf1a1d..55e7737 100644 --- a/java/code/webapp/WEB-INF/struts-config.xml +++ b/java/code/webapp/WEB-INF/struts-config.xml @@ -4313,7 +4313,7 @@ <forward name="default" path="/WEB-INF/pages/admin/multiorg/orgcreate.jsp"/> <forward name="success" - path="/admin/multiorg/Organizations.do" redirect="true" /> + path="/admin/multiorg/OrgSystemSubscriptions.do" redirect="true" /> </action>
<action path="/admin/multiorg/OrgTrusts"
commit 4656c0245e38e26bacb98cea14bb8dc66a7d55e5 Author: Brad Buckingham bbuckingham@redhat.com Date: Thu Mar 26 16:22:11 2009 -0400
489007 - adding ServerPathSerializer needed by SystemHandler
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/ServerPathSerializer.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/ServerPathSerializer.java new file mode 100644 index 0000000..a495b4e --- /dev/null +++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/ServerPathSerializer.java @@ -0,0 +1,66 @@ +/** + * Copyright (c) 2009 Red Hat, Inc. + * + * This software is licensed to you under the GNU General Public License, + * version 2 (GPLv2). There is NO WARRANTY for this software, express or + * implied, including the implied warranties of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 + * along with this software; if not, see + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. + * + * Red Hat trademarks are not licensed under GPLv2. No permission is + * granted to use or replicate Red Hat trademarks that are incorporated + * in this software or its documentation. + */ +package com.redhat.rhn.frontend.xmlrpc.serializer; + +import com.redhat.rhn.frontend.dto.ServerPath; +import com.redhat.rhn.frontend.xmlrpc.serializer.util.SerializerHelper; + +import java.io.IOException; +import java.io.Writer; + +import redstone.xmlrpc.XmlRpcCustomSerializer; +import redstone.xmlrpc.XmlRpcException; +import redstone.xmlrpc.XmlRpcSerializer; + + +/** + * ServerPathSerializer: Converts a ServerPathSerializer object for representation as an + * XMLRPC struct. + * + * @version $Rev$ + * + * @xmlrpc.doc + * #struct("proxy connection path details") + * #prop_desc("int", "position", "Position of proxy in chain. The proxy that the + * system connects directly to is listed in position 1.") + * #prop_desc("int", "id", "Proxy system id") + * #prop_desc("string", "hostname", "Proxy host name") + * #struct_end() + */ +public class ServerPathSerializer implements XmlRpcCustomSerializer { + + /** + * {@inheritDoc} + */ + public Class getSupportedClass() { + return ServerPath.class; + } + + /** + * {@inheritDoc} + */ + public void serialize(Object value, Writer output, XmlRpcSerializer builtInSerializer) + throws XmlRpcException, IOException { + + ServerPath serverPath = (ServerPath)value; + + SerializerHelper helper = new SerializerHelper(builtInSerializer); + helper.add("position", serverPath.getPosition()); + helper.add("id", serverPath.getId()); + helper.add("hostname", serverPath.getHostname()); + + helper.writeTo(output); + } +}
commit 6d1b9abb18cfa1f8a1190110858dac376c1daed7 Author: Brad Buckingham bbuckingham@redhat.com Date: Thu Mar 26 16:16:39 2009 -0400
489007 - api - add system.getConnectionPath for listing proxies server is connected through
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/test_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/test_queries.xml index b2f07e8..c6a729c 100644 --- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/test_queries.xml +++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/test_queries.xml @@ -240,6 +240,13 @@ SELECT u.created as CREATED GROUP BY owner </query>
+<write-mode name="insert_into_rhnServerPath"> + <query params="server_id, proxy_server_id, proxy_hostname, position"> + INSERT INTO rhnServerPath(SERVER_ID, PROXY_SERVER_ID, HOSTNAME, POSITION) + VALUES(:server_id, :proxy_server_id, :proxy_hostname, :position) + </query> +</write-mode> + <write-mode name="insert_into_rhnServerNeededPackageCache"> <query params="errata_id, server_id, package_id"> INSERT INTO rhnServerNeededCache(ERRATA_ID, SERVER_ID, PACKAGE_ID) @@ -268,8 +275,6 @@ SELECT u.created as CREATED </query> </write-mode>
- - <write-mode name="insert_into_time_series"> <query params="oid, entry_time, data"> INSERT INTO TIME_SERIES(O_ID, ENTRY_TIME, DATA) diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/SerializerRegistry.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/SerializerRegistry.java index 4a6272f..9e13f40 100644 --- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/SerializerRegistry.java +++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/SerializerRegistry.java @@ -59,7 +59,8 @@ public class SerializerRegistry { SERIALIZER_CLASSES.add(PackageSerializer.class); SERIALIZER_CLASSES.add(RhnTimeZoneSerializer.class); SERIALIZER_CLASSES.add(ScriptResultSerializer.class); - SERIALIZER_CLASSES.add(ServerSerializer.class); + SERIALIZER_CLASSES.add(ServerSerializer.class); + SERIALIZER_CLASSES.add(ServerPathSerializer.class); SERIALIZER_CLASSES.add(SystemSearchResultSerializer.class); SERIALIZER_CLASSES.add(SystemOverviewSerializer.class); SERIALIZER_CLASSES.add(UserSerializer.class); diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java index cd9cabc..e54c200 100644 --- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java +++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java @@ -85,6 +85,7 @@ import com.redhat.rhn.domain.token.ActivationKey; import com.redhat.rhn.domain.user.User; import com.redhat.rhn.frontend.dto.ActivationKeyDto; import com.redhat.rhn.frontend.dto.ErrataOverview; +import com.redhat.rhn.frontend.dto.ServerPath; import com.redhat.rhn.frontend.dto.SystemOverview; import com.redhat.rhn.frontend.xmlrpc.BaseHandler; import com.redhat.rhn.frontend.xmlrpc.InvalidActionTypeException; @@ -3768,6 +3769,36 @@ public class SystemHandler extends BaseHandler { return returnList; }
+ /** + * Get the list of proxies that the given system connects + * through in order to reach the server. + * @param sessionKey The sessionKey containing the logged in user + * @param sid The id of the system in question + * @return Returns an array of maps representing the proxies the system is connected + * through + * @throws FaultException A FaultException is thrown if the server corresponding to + * sid cannot be found. + * + * @xmlrpc.doc Get the list of proxies that the given system connects + * through in order to reach the server. + * @xmlrpc.param #param("string", "sessionKey") + * @xmlrpc.param #param("int", "serverId") + * @xmlrpc.returntype + * #array() + * $ServerPathSerializer + * #array_end() + */ + public Object[] getConnectionPath(String sessionKey, Integer sid) + throws FaultException { + + // Get the logged in user and server + User loggedInUser = getLoggedInUser(sessionKey); + Server server = lookupServer(loggedInUser, sid); + + DataResult<ServerPath> dr = SystemManager.getConnectionPath(server.getId()); + return dr.toArray(); + } + private Channel lookupChannelByLabel(Org org, String label) throws NoSuchChannelException {
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/test/SystemHandlerTest.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/test/SystemHandlerTest.java index 466bac4..3ba9b22 100644 --- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/test/SystemHandlerTest.java +++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/test/SystemHandlerTest.java @@ -16,6 +16,8 @@ package com.redhat.rhn.frontend.xmlrpc.system.test;
import com.redhat.rhn.FaultException; import com.redhat.rhn.common.db.datasource.DataResult; +import com.redhat.rhn.common.db.datasource.ModeFactory; +import com.redhat.rhn.common.db.datasource.WriteMode; import com.redhat.rhn.common.hibernate.HibernateFactory; import com.redhat.rhn.common.hibernate.LookupException; import com.redhat.rhn.domain.action.Action; @@ -76,6 +78,7 @@ import com.redhat.rhn.frontend.dto.ErrataOverview; import com.redhat.rhn.frontend.dto.HistoryEvent; import com.redhat.rhn.frontend.dto.PackageMetadata; import com.redhat.rhn.frontend.dto.ScheduledAction; +import com.redhat.rhn.frontend.dto.ServerPath; import com.redhat.rhn.frontend.dto.SystemOverview; import com.redhat.rhn.frontend.xmlrpc.InvalidActionTypeException; import com.redhat.rhn.frontend.xmlrpc.InvalidChannelException; @@ -2164,4 +2167,50 @@ public class SystemHandlerTest extends BaseHandlerTestCase { keys = handler.listActivationKeys(adminKey, server.getId().intValue()); assertEquals(1, keys.size()); } + + public void testGetConnectionPath() throws Exception { + + Server server = ServerFactoryTest.createTestServer(admin, true); + + // check the initial state of the connection path for the server + Object[] results = handler.getConnectionPath(adminKey, + new Integer(server.getId().intValue())); + + assertEquals(0, results.length); + + // create 2 dummy servers to represent proxys and add them to the + // server's 'server path' + Server proxy1 = ServerFactoryTest.createTestServer(admin, true); + Server proxy2 = ServerFactoryTest.createTestServer(admin, true); + + Long position1 = new Long(0); + Long position2 = new Long(1); + + WriteMode m = ModeFactory.getWriteMode("test_queries", + "insert_into_rhnServerPath"); + Map params = new HashMap(); + params.put("server_id", server.getId()); + params.put("proxy_server_id", proxy1.getId()); + params.put("proxy_hostname", proxy1.getName()); + params.put("position", position1); + m.executeUpdate(params); + + params.clear(); + params.put("server_id", server.getId()); + params.put("proxy_server_id", proxy2.getId()); + params.put("proxy_hostname", proxy2.getName()); + params.put("position", position2); + m.executeUpdate(params); + + // execute test... + results = handler.getConnectionPath(adminKey, + new Integer(server.getId().intValue())); + + assertEquals(2, results.length); + assertEquals(proxy1.getId(), ((ServerPath) results[0]).getId()); + assertEquals(proxy1.getName(), ((ServerPath) results[0]).getHostname()); + + assertEquals(proxy2.getId(), ((ServerPath) results[1]).getId()); + assertEquals(proxy2.getName(), ((ServerPath) results[1]).getHostname()); + } } diff --git a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java index bd8ab9f..f1a81ee 100644 --- a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java +++ b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java @@ -1371,7 +1371,6 @@ public class SystemManager extends BaseManager { subscribeServerToChannel(null, server, proxyChannel); } } - }
/** @@ -2390,6 +2389,18 @@ public class SystemManager extends BaseManager { ModeFactory.getMode("System_queries", mode); DataResult toReturn = m.execute(params); return toReturn.size() > 0; + }
+ /** + * Gets the list of proxies that the given system connects + * through in order to reach the server. + * @param sid The id of the server in question + * @return Returns a list of ServerPath objects. + */ + public static DataResult getConnectionPath(Long sid) { + SelectMode m = ModeFactory.getMode("System_queries", "proxy_path_for_server"); + Map params = new HashMap(); + params.put("sid", sid); + return m.execute(params); } }
commit 54d423cd091a2ce6dbd57a79875314ba5a4d01c0 Author: Justin Sherrill jsherril@redhat.com Date: Thu Mar 26 14:57:29 2009 -0400
489736 - made kickstart package download url generation use non-expiring download urls, also made it so that setting the expiration time to 0 in the config file (download_url_lifetime), caused expiration to be disabled server wide, and added non_expirable_package_urls config option to disable expiration on a package name basis
diff --git a/java/code/src/com/redhat/rhn/common/conf/Config.java b/java/code/src/com/redhat/rhn/common/conf/Config.java index 91a37f2..90f72f6 100644 --- a/java/code/src/com/redhat/rhn/common/conf/Config.java +++ b/java/code/src/com/redhat/rhn/common/conf/Config.java @@ -104,6 +104,8 @@ public class Config {
public static final String DOWNLOAD_URL_LIFETIME = "download_url_lifetime";
+ public static final String NON_EXPIRABLE_PACKAGE_URLS = "non_expirable_package_urls"; + public static final String WEB_IS_MONITORING_SCOUT = "web.is_monitoring_scout";
public static final String WEB_IS_MONITORING_BACKEND = "web.is_monitoring_backend"; diff --git a/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java b/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java index 539bf21..22a2996 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java +++ b/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java @@ -211,7 +211,10 @@ public class DownloadFile extends DownloadAction { params.put(FILENAME, filename); request.setAttribute(PARAMS, params);
- if (Calendar.getInstance().getTimeInMillis() > expire) { + //If expire is at 0, then expiration is disabled for the download + // we'll validate the SHA1 token to make sure someone didn't hack + // it in the next step. + if (expire != 0 && Calendar.getInstance().getTimeInMillis() > expire) { log.error("File download url has expired: " + url); return mapping.findForward("error"); } diff --git a/java/code/src/com/redhat/rhn/manager/download/DownloadManager.java b/java/code/src/com/redhat/rhn/manager/download/DownloadManager.java index 9fe0099..ab3a95a 100644 --- a/java/code/src/com/redhat/rhn/manager/download/DownloadManager.java +++ b/java/code/src/com/redhat/rhn/manager/download/DownloadManager.java @@ -52,10 +52,32 @@ public class DownloadManager extends BaseManager { * @return the path/url */ public static String getPackageDownloadPath(Package pack, User user) { + + //If the package is on our list of non-expiring packages, then generate + // a non-expiring URL + List packs = Config.get().getList(Config.NON_EXPIRABLE_PACKAGE_URLS); + if (packs != null && packs.contains(pack.getPackageName().getName())) { + return getNonExpiringDownloadPath(pack.getId(), pack.getFile(), user, + DownloadManager.DOWNLOAD_TYPE_PACKAGE); + } return getDownloadPath(pack.getId(), pack.getFile(), user, DownloadManager.DOWNLOAD_TYPE_PACKAGE); }
+ /** + * Get a download path (part of the url) that is used to download a package. + * The url will be in the form of + * /download/SHA1_TOKEN/0/userId/packId/filename.rpm + * The url will NOT expire and should generally only be used + * @param pack the package + * @param user the user + * @return the path/url + */ + public static String getPackageDownloadPathNoExpiration(Package pack, User user) { + return getNonExpiringDownloadPath(pack.getId(), pack.getFile(), user, + DownloadManager.DOWNLOAD_TYPE_PACKAGE); + } +
/** * Get a download path that is used to download a srpm. @@ -107,14 +129,29 @@ public class DownloadManager extends BaseManager {
private static String getDownloadPath(Long fileId, String filename, User user, String type) { - Calendar cal = Calendar.getInstance(); - cal.add(Calendar.MINUTE, Config.get().getInt(Config.DOWNLOAD_URL_LIFETIME)); + Long time = 0L; + if (Config.get().getInt(Config.DOWNLOAD_URL_LIFETIME) > 0) { + Calendar cal = Calendar.getInstance(); + cal.add(Calendar.MINUTE, Config.get().getInt(Config.DOWNLOAD_URL_LIFETIME)); + time = cal.getTimeInMillis(); + } + return "/download/" + type + "/" + getFileSHA1Token(fileId, - filename, user, cal.getTimeInMillis(), type) + "/" + - cal.getTimeInMillis() + "/" + user.getId() + "/" + fileId + "/" + + filename, user, time, type) + "/" + + time + "/" + user.getId() + "/" + fileId + "/" + filename; }
+ private static String getNonExpiringDownloadPath(Long fileId, String filename, + User user, String type) { + Long time = 0L; + return "/download/" + type + "/" + getFileSHA1Token(fileId, + filename, user, time, type) + "/" + + time + "/" + user.getId() + "/" + fileId + "/" + + filename; + + } + /** * get the Hmac SHA1 token use in constructing a package download url * also useful if verifying a package download url diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java index 7f664b0..33e7e58 100644 --- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java +++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java @@ -776,8 +776,8 @@ public class KickstartFormatter { private String getSHA1PackagePath(Package p) { String retval = null; if (p != null) { - retval = "http://" + this.ksHost + DownloadManager.getPackageDownloadPath( - p, user); + retval = "http://" + this.ksHost + + DownloadManager.getPackageDownloadPathNoExpiration(p, user); } return retval; } diff --git a/web/conf/rhn_web.conf b/web/conf/rhn_web.conf index cff7879..23b78e8 100644 --- a/web/conf/rhn_web.conf +++ b/web/conf/rhn_web.conf @@ -317,3 +317,9 @@ web.taskomatic_cobbler_user = taskomatic_user # subscribe to proxy channel during proxy activation # in spacewalk proxy has no separate channel, therefore disabled by default web.subscribe_proxy_channel = 0 + + +# A comma seperated list (with no spaces) of package names that do not obey the "web.download_url_lifetime" config value +# and can be used forever. (i.e. kernel,kernel-smp,kernel-xen) +web.non_expirable_package_urls = +
commit 2e8b8a04c63031634158d5761b391da1148a2bb5 Author: Shannon Hughes shughes@redhat.com Date: Thu Mar 26 14:48:55 2009 -0400
489486 - adding channel updated message when changing access from public to private for multiorg channel sharing
diff --git a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java index 385576b..4748f42 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java @@ -128,6 +128,10 @@ public class EditChannelAction extends RhnAction implements Listable { // handler for private confirmation page else if (ctx.hasParam(RequestContext.DISPATCH)) { makePrivate(form, errors, ctx); + if (errors.isEmpty()) { + createSuccessMessage(request, "message.channelupdated", + form.getString("name")); + } } else if (ctx.hasParam("deny")) { deny(form, errors, ctx);
commit 5a1e4bb61e95cd38cc5b918b654067a3c1b71885 Merge: 9435b3b... 14877c4... Author: Pradeep Kilambi pkilambi@redhat.com Date: Thu Mar 26 14:25:38 2009 -0400
Merge branch 'master' of ssh://pkilambi@git.fedorahosted.org/git/spacewalk
commit 9435b3b35b7a5943bca0cfd4cf6bcb7bc2d777d0 Author: Pradeep Kilambi pkilambi@redhat.com Date: Thu Mar 26 14:25:29 2009 -0400
none - Adding support for comps info to be added to repomd.xml. We need to deine the paths statically, since we dont store this data yet in rhnChannelComps table. Once satellite sync is able to download this content and poulate this we should be able to get rid of the static comps file paths and have get it directly from the db through getComps call that we already implemented.
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java index 644770d..9ff8c69 100644 --- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java +++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java @@ -27,12 +27,16 @@ import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Date; import java.util.Iterator; +import java.util.HashMap; +import java.util.Map;
import org.apache.log4j.Logger;
import com.redhat.rhn.domain.channel.Channel; import com.redhat.rhn.frontend.dto.PackageDto; import com.redhat.rhn.common.util.StringUtil; +import com.redhat.rhn.common.conf.Config; +import com.redhat.rhn.domain.channel.ClonedChannel;
/** * @@ -207,12 +211,20 @@ public class RepositoryWriter { * @return repomd index for given channel */ private RepomdIndexData loadCompsFile(Channel channel) { + String relativeFilename; + String compsMount = Config.get().getString(Config.MOUNT_POINT); + if (channel.getComps() == null) { - return null; + relativeFilename = getCompsFilePath(channel); + if (relativeFilename == null) { + return null; + } + } + else { + relativeFilename = channel.getComps().getRelativeFilename(); }
- File compsFile = new File(mountPoint + - channel.getComps().getRelativeFilename()); + File compsFile = new File(compsMount + relativeFilename); FileInputStream stream; try { stream = new FileInputStream(compsFile); @@ -247,6 +259,58 @@ public class RepositoryWriter { }
/** + * TODO: This static comps paths should go away once + * we can get the paths directly from hosted through + * satellite-sync and only limit to supporting cloned. + * @param channel channel object + * @return compsPath comps file path + */ + public String getCompsFilePath(Channel channel) { + String compsPath = null; + + Map<String, String> compsMapping = new HashMap<String, String>(); + String rootClientPath = "/rhn/kickstart/ks-rhel-x86_64-client-5"; + String rootServerPath = "/rhn/kickstart/ks-rhel-x86_64-server-5"; + compsMapping.put("rhel-x86_64-client-5", + rootClientPath + "/Client/repodata/comps-rhel5-client-core.xml"); + compsMapping.put("rhel-x86_64-client-vt-5", + rootClientPath + "/VT/repodata/comps-rhel5-vt.xml"); + compsMapping.put("rhel-x86_64-client-workstation-5", + rootClientPath + "/Workstation/repodata/comps-rhel5-client-workstation.xml"); + compsMapping.put("rhel-x86_64-server-5", + rootServerPath + "/Server/repodata/comps-rhel5-server-core.xml"); + compsMapping.put("rhel-x86_64-server-vt-5", + rootServerPath + "/VT/repodata/comps-rhel5-vt.xml"); + compsMapping.put("rhel-x86_64-server-cluster-5", + rootServerPath + "/Cluster/repodata/comps-rhel5-cluster.xml"); + compsMapping.put("rhel-x86_64-server-cluster-storage-5", + rootServerPath + "/ClusterStorage/repodata/comps-rhel5-cluster-st.xml"); + + String[] arches = {"i386", "ia64", "s390x", "ppc"}; + Map<String, String> newCompsmap = new HashMap<String, String>(); + for (String k : compsMapping.keySet()) { + for (String arch : arches) { + newCompsmap.put(k.replace("x86_64", arch), + compsMapping.get(k).replace("x86_64", arch)); + } + } + compsMapping.putAll(newCompsmap); + + if (compsMapping.containsKey(channel.getLabel())) { + compsPath = compsMapping.get(channel.getLabel()); + } + else if (channel.isCloned()) { + // If its a cloned channel see if we can get the comps + // from the original channel. + ClonedChannel clonedCh = (ClonedChannel) channel; + Channel origChannel = clonedCh.getOriginal(); + compsPath = compsMapping.get(origChannel.getLabel()); + } + + return compsPath; + } + + /** * Generates update info for given channel * @param channel channel info * @param prefix repodata file prefix
commit 8c3fa9d9d6340d9d347ff99a11f3b1e9492bb225 Author: Mike McCune mmccune@gmail.com Date: Thu Mar 26 11:13:01 2009 -0700
Automatic commit of package [spacewalk-java] release [0.5.40-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec index 0ad65c4..c19c8fb 100644 --- a/java/spacewalk-java.spec +++ b/java/spacewalk-java.spec @@ -10,7 +10,7 @@ Name: spacewalk-java Summary: Spacewalk Java site packages Group: Applications/Internet License: GPLv2 -Version: 0.5.39 +Version: 0.5.40 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -235,6 +235,9 @@ fi %attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog +* Thu Mar 26 2009 Mike McCune mmccune@gmail.com 0.5.40-1 +- 492137 - fixing ISE for virt + * Thu Mar 26 2009 jesus m. rodriguez jesusr@redhat.com 0.5.39-1 - 484852 - user taken to meaningful error pages instead of ISEs.
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java index ac40b4e..75675aa 100644 --- a/rel-eng/packages/spacewalk-java +++ b/rel-eng/packages/spacewalk-java @@ -1 +1 @@ -0.5.39-1 java/ +0.5.40-1 java/
commit 14877c4c13d3a5e177a884b5145cb800b847e51b Author: Jason Dobies jason.dobies@redhat.com Date: Thu Mar 26 14:11:56 2009 -0400
Updated documentation
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java index 3edaabf..070daeb 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java @@ -49,6 +49,8 @@ public class PublishedErrataAction extends RhnAction implements Listable { return actionMapping.findForward("continue"); }
+ // jdobies - CSC1052 Extra Credit: Wildcats + return actionMapping.findForward("default"); }
commit f5f51861366c5e5f3b3f37abd854a5cc1be36056 Author: Mike McCune mmccune@gmail.com Date: Thu Mar 26 11:06:49 2009 -0700
492137 - fixing case where with virt kickstarts we were looking up system records by MAC but we dont use networks yet for virt guests. For virt kickstarts we need to lookup by system record name.
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java b/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java index cbc5462..9b56cd9 100644 --- a/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java +++ b/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java @@ -218,10 +218,22 @@ public class CobblerSystemCreateCommand extends CobblerCommand { invokeXMLRPC("save_system", handle, xmlRpcToken);
Map cSystem = getSystemMapByMac(); + // Virt system records have no mac/interfaces setup so we search on name + if (cSystem == null) { + cSystem = getSystemMapByName(); + } server.setCobblerId((String)cSystem.get("uid")); return null; }
+ private Map getSystemMapByName() { + List < String > args = new ArrayList(); + args.add(getCobblerSystemRecordName()); + args.add(xmlRpcToken); + Map retval = (Map) invokeXMLRPC("get_system", args); + return retval; + } + /** * Get the cobbler system record name for this system. * @return String name of cobbler system record.
commit c5be3c7df8437f3ca8b22fe4e3d4fb1d16f11ad7 Author: Miroslav Suchý msuchy@redhat.com Date: Thu Mar 26 17:58:59 2009 +0100
Automatic commit of package [spacewalk-web] release [0.5.22-1].
diff --git a/rel-eng/packages/spacewalk-web b/rel-eng/packages/spacewalk-web index f8ad15a..5acbd86 100644 --- a/rel-eng/packages/spacewalk-web +++ b/rel-eng/packages/spacewalk-web @@ -1 +1 @@ -0.5.21-1 web/ +0.5.22-1 web/ diff --git a/web/spacewalk-web.spec b/web/spacewalk-web.spec index dacf4d4..d97eac7 100644 --- a/web/spacewalk-web.spec +++ b/web/spacewalk-web.spec @@ -2,7 +2,7 @@ Name: spacewalk-web Summary: Spacewalk Web site packages Group: Applications/Internet License: GPLv2 -Version: 0.5.21 +Version: 0.5.22 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -318,11 +318,12 @@ rm -rf $RPM_BUILD_ROOT
# $Id$ %changelog -* Thu Mar 26 2009 Miroslav Suchy msuchy@redhat.com 0.5.21-1 -491667 - do not fail if none of the packages are installed -code cleanup - remove 3.6 and 3.7 proxy installer (EOL) -491670 - add rhn-proxy-branding to list of package to remove in 5.3 -491670 - add conflicting package from older proxy versions +* Thu Mar 26 2009 Miroslav Suchy msuchy@redhat.com 0.5.22-1 +- 491667 - do not fail if none of the packages are installed +- code cleanup - remove 3.6 and 3.7 proxy installer (EOL) +- 491670 - add rhn-proxy-branding to list of package to remove in 5.3 +- 491670 - add conflicting package from older proxy versions +- remove libidn from conflictin packages from proxy installer
* Wed Mar 25 2009 Jan Pazdziora 0.5.20-1 - 491687 - call wrapper around sudo invocations, to change SELinux domain
commit f5036a583e2180f1a3645a9093d18459652afd5f Author: Miroslav Suchý msuchy@redhat.com Date: Thu Mar 26 17:57:32 2009 +0100
remove libidn from conflictin packages, all currents version should provide the same needed requirements (libidn.so.11)
diff --git a/web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml index 82fd748..5f405b9 100644 --- a/web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml @@ -33,7 +33,6 @@ <package>httpd-suexec</package> <package>jabberd</package> <package>libapreq2</package> - <package>libidn</package> <package>LongLegs</package> <package>MessageQueue</package> <package>mm</package> @@ -174,7 +173,6 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="httpd-suexec" default="${session.have_package_httpd_suexec}" acl="session_data_true(have_package_httpd_suexec)" /> <widget type="literal" label="jabberd" default="${session.have_package_jabberd}" acl="session_data_true(have_package_jabberd)" /> <widget type="literal" label="libapreq2" default="${session.have_package_libapreq2}" acl="session_data_true(have_package_libapreq2)" /> - <widget type="literal" label="libidn" default="${session.have_package_libidn}" acl="session_data_true(have_package_libidn)" /> <widget type="literal" label="LongLegs" default="${session.have_package_LongLegs}" acl="session_data_true(have_package_LongLegs)" /> <widget type="literal" label="MessageQueue" default="${session.have_package_MessageQueue}" acl="session_data_true(have_package_MessageQueue)" /> <widget type="literal" label="mm" default="${session.have_package_mm}" acl="session_data_true(have_package_mm)" /> diff --git a/web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml index 55441f0..aa918fd 100644 --- a/web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml @@ -33,7 +33,6 @@ <package>httpd-suexec</package> <package>jabberd</package> <package>libapreq2</package> - <package>libidn</package> <package>LongLegs</package> <package>MessageQueue</package> <package>mm</package> @@ -174,7 +173,6 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="httpd-suexec" default="${session.have_package_httpd_suexec}" acl="session_data_true(have_package_httpd_suexec)" /> <widget type="literal" label="jabberd" default="${session.have_package_jabberd}" acl="session_data_true(have_package_jabberd)" /> <widget type="literal" label="libapreq2" default="${session.have_package_libapreq2}" acl="session_data_true(have_package_libapreq2)" /> - <widget type="literal" label="libidn" default="${session.have_package_libidn}" acl="session_data_true(have_package_libidn)" /> <widget type="literal" label="LongLegs" default="${session.have_package_LongLegs}" acl="session_data_true(have_package_LongLegs)" /> <widget type="literal" label="MessageQueue" default="${session.have_package_MessageQueue}" acl="session_data_true(have_package_MessageQueue)" /> <widget type="literal" label="mm" default="${session.have_package_mm}" acl="session_data_true(have_package_mm)" /> diff --git a/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml index fd2bcc5..66ded03 100644 --- a/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml @@ -34,7 +34,6 @@ <package>jabberd</package> <package>jabberd-selinux</package> <package>libapreq2</package> - <package>libidn</package> <package>LongLegs</package> <package>MessageQueue</package> <package>mm</package> @@ -175,7 +174,6 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="jabberd" default="${session.have_package_jabberd}" acl="session_data_true(have_package_jabberd)" /> <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> <widget type="literal" label="libapreq2" default="${session.have_package_libapreq2}" acl="session_data_true(have_package_libapreq2)" /> - <widget type="literal" label="libidn" default="${session.have_package_libidn}" acl="session_data_true(have_package_libidn)" /> <widget type="literal" label="LongLegs" default="${session.have_package_LongLegs}" acl="session_data_true(have_package_LongLegs)" /> <widget type="literal" label="MessageQueue" default="${session.have_package_MessageQueue}" acl="session_data_true(have_package_MessageQueue)" /> <widget type="literal" label="mm" default="${session.have_package_mm}" acl="session_data_true(have_package_mm)" /> diff --git a/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml index a57fe42..cec006a 100644 --- a/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml @@ -34,7 +34,6 @@ <package>jabberd</package> <package>jabberd-selinux</package> <package>libapreq2</package> - <package>libidn</package> <package>LongLegs</package> <package>MessageQueue</package> <package>mm</package> @@ -175,7 +174,6 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="jabberd" default="${session.have_package_jabberd}" acl="session_data_true(have_package_jabberd)" /> <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> <widget type="literal" label="libapreq2" default="${session.have_package_libapreq2}" acl="session_data_true(have_package_libapreq2)" /> - <widget type="literal" label="libidn" default="${session.have_package_libidn}" acl="session_data_true(have_package_libidn)" /> <widget type="literal" label="LongLegs" default="${session.have_package_LongLegs}" acl="session_data_true(have_package_LongLegs)" /> <widget type="literal" label="MessageQueue" default="${session.have_package_MessageQueue}" acl="session_data_true(have_package_MessageQueue)" /> <widget type="literal" label="mm" default="${session.have_package_mm}" acl="session_data_true(have_package_mm)" /> diff --git a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml index fb21b7c..f1ab7ac 100644 --- a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml @@ -34,7 +34,6 @@ <package>jabberd</package> <package>jabberd-selinux</package> <package>libapreq2</package> - <package>libidn</package> <package>LongLegs</package> <package>MessageQueue</package> <package>mm</package> @@ -175,7 +174,6 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="jabberd" default="${session.have_package_jabberd}" acl="session_data_true(have_package_jabberd)" /> <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> <widget type="literal" label="libapreq2" default="${session.have_package_libapreq2}" acl="session_data_true(have_package_libapreq2)" /> - <widget type="literal" label="libidn" default="${session.have_package_libidn}" acl="session_data_true(have_package_libidn)" /> <widget type="literal" label="LongLegs" default="${session.have_package_LongLegs}" acl="session_data_true(have_package_LongLegs)" /> <widget type="literal" label="MessageQueue" default="${session.have_package_MessageQueue}" acl="session_data_true(have_package_MessageQueue)" /> <widget type="literal" label="mm" default="${session.have_package_mm}" acl="session_data_true(have_package_mm)" /> diff --git a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml index 1690269..3bec25b 100644 --- a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml @@ -34,7 +34,6 @@ <package>jabberd</package> <package>jabberd-selinux</package> <package>libapreq2</package> - <package>libidn</package> <package>LongLegs</package> <package>MessageQueue</package> <package>mm</package> @@ -175,7 +174,6 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="jabberd" default="${session.have_package_jabberd}" acl="session_data_true(have_package_jabberd)" /> <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> <widget type="literal" label="libapreq2" default="${session.have_package_libapreq2}" acl="session_data_true(have_package_libapreq2)" /> - <widget type="literal" label="libidn" default="${session.have_package_libidn}" acl="session_data_true(have_package_libidn)" /> <widget type="literal" label="LongLegs" default="${session.have_package_LongLegs}" acl="session_data_true(have_package_LongLegs)" /> <widget type="literal" label="MessageQueue" default="${session.have_package_MessageQueue}" acl="session_data_true(have_package_MessageQueue)" /> <widget type="literal" label="mm" default="${session.have_package_mm}" acl="session_data_true(have_package_mm)" /> diff --git a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml index 8990501..93dc029 100644 --- a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml @@ -34,7 +34,6 @@ <package>jabberd</package> <package>jabberd-selinux</package> <package>libapreq2</package> - <package>libidn</package> <package>LongLegs</package> <package>MessageQueue</package> <package>mm</package> @@ -175,7 +174,6 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="jabberd" default="${session.have_package_jabberd}" acl="session_data_true(have_package_jabberd)" /> <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> <widget type="literal" label="libapreq2" default="${session.have_package_libapreq2}" acl="session_data_true(have_package_libapreq2)" /> - <widget type="literal" label="libidn" default="${session.have_package_libidn}" acl="session_data_true(have_package_libidn)" /> <widget type="literal" label="LongLegs" default="${session.have_package_LongLegs}" acl="session_data_true(have_package_LongLegs)" /> <widget type="literal" label="MessageQueue" default="${session.have_package_MessageQueue}" acl="session_data_true(have_package_MessageQueue)" /> <widget type="literal" label="mm" default="${session.have_package_mm}" acl="session_data_true(have_package_mm)" />
commit 5300e9f9869fdd816c26e8bf6cf5a3a406fcb6ab Author: Miroslav Suchý msuchy@redhat.com Date: Thu Mar 26 17:01:34 2009 +0100
Automatic commit of package [spacewalk-proxy] release [0.5.7-1].
diff --git a/proxy/proxy/spacewalk-proxy.spec b/proxy/proxy/spacewalk-proxy.spec index fc5e6b1..4c2896a 100644 --- a/proxy/proxy/spacewalk-proxy.spec +++ b/proxy/proxy/spacewalk-proxy.spec @@ -4,7 +4,7 @@ Group: Applications/Internet License: GPLv2 URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... -Version: 0.5.6 +Version: 0.5.7 Release: 1%{?dist} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python @@ -283,7 +283,7 @@ fi
%changelog -* Thu Mar 26 2009 Miroslav Suchý msuchy@redhat.com +* Thu Mar 26 2009 Miroslav Suchý msuchy@redhat.com 0.5.7-1 - add dependency on httpd
* Thu Jan 29 2009 Miroslav Suchý msuchy@redhat.com 0.5.6-1 diff --git a/rel-eng/packages/spacewalk-proxy b/rel-eng/packages/spacewalk-proxy index a4c9eef..956e507 100644 --- a/rel-eng/packages/spacewalk-proxy +++ b/rel-eng/packages/spacewalk-proxy @@ -1 +1 @@ -0.5.6-1 proxy/proxy/ +0.5.7-1 proxy/proxy/
commit afeecc7bf935b59d358952581c3d2c4fad5cde12 Author: Miroslav Suchý msuchy@redhat.com Date: Thu Mar 26 17:01:28 2009 +0100
Automatic commit of package [spacewalk-proxy-installer] release [0.5.23-1].
diff --git a/proxy/installer/spacewalk-proxy-installer.spec b/proxy/installer/spacewalk-proxy-installer.spec index 8687d0f..afae88e 100644 --- a/proxy/installer/spacewalk-proxy-installer.spec +++ b/proxy/installer/spacewalk-proxy-installer.spec @@ -2,7 +2,7 @@ Name: spacewalk-proxy-installer Summary: Spacewalk Proxy Server Installer Group: Applications/Internet License: GPLv2 -Version: 0.5.22 +Version: 0.5.23 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -82,7 +82,7 @@ rm -rf $RPM_BUILD_ROOT %doc LICENSE answers.txt
%changelog -* Thu Mar 26 2009 Miroslav Suchý msuchy@redhat.com 0.5.22-1 +* Thu Mar 26 2009 Miroslav Suchý msuchy@redhat.com 0.5.23-1 - 486125 - if some option is present in answer file, use it even if empty - remove dependency on httpd which conflict with older proxies, let httpd be downloaded through spacewalk-proxy-management diff --git a/rel-eng/packages/spacewalk-proxy-installer b/rel-eng/packages/spacewalk-proxy-installer index de79c45..9854c61 100644 --- a/rel-eng/packages/spacewalk-proxy-installer +++ b/rel-eng/packages/spacewalk-proxy-installer @@ -1 +1 @@ -0.5.22-1 proxy/installer/ +0.5.23-1 proxy/installer/
commit 89805ccf40c73007f3f560b9d0963fdf7a5044ac Author: Miroslav Suchý msuchy@redhat.com Date: Thu Mar 26 17:00:41 2009 +0100
remove dependency on httpd which conflict with older proxies, let httpd be downloaded through spacewalk-proxy-management
diff --git a/proxy/installer/spacewalk-proxy-installer.spec b/proxy/installer/spacewalk-proxy-installer.spec index 38afa22..8687d0f 100644 --- a/proxy/installer/spacewalk-proxy-installer.spec +++ b/proxy/installer/spacewalk-proxy-installer.spec @@ -17,7 +17,6 @@ Requires: rhncfg-management Requires: rhncfg-actions Requires: glibc-common Requires: chkconfig -Requires: httpd Requires: libxslt BuildRequires: /usr/bin/docbook2man Conflicts: rhns-proxy-tools < 5.3.0 @@ -85,6 +84,8 @@ rm -rf $RPM_BUILD_ROOT %changelog * Thu Mar 26 2009 Miroslav Suchý msuchy@redhat.com 0.5.22-1 - 486125 - if some option is present in answer file, use it even if empty +- remove dependency on httpd which conflict with older proxies, let + httpd be downloaded through spacewalk-proxy-management
* Wed Mar 18 2009 Michael Mraka michael.mraka@redhat.com 0.5.21-1 - 489669 - fixed non-interactive mode diff --git a/proxy/proxy/spacewalk-proxy.spec b/proxy/proxy/spacewalk-proxy.spec index 79d6af6..fc5e6b1 100644 --- a/proxy/proxy/spacewalk-proxy.spec +++ b/proxy/proxy/spacewalk-proxy.spec @@ -9,6 +9,7 @@ Release: 1%{?dist} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python BuildArch: noarch +Requires: httpd
%define rhnroot %{_usr}/share/rhn %define destdir %{rhnroot}/proxy @@ -29,6 +30,7 @@ Requires: %{name}-common >= %{version} Requires: %{name}-docs Requires: %{name}-html Requires: jabberd +Requires: httpd Requires: sos Requires(preun): initscripts Obsoletes: rhns-proxy < 5.3.0 @@ -48,6 +50,7 @@ Requires: squid Requires: spacewalk-certs-tools Requires: spacewalk-proxy-package-manager Requires: spacewalk-ssl-cert-check +Requires: httpd Requires: mod_ssl Requires: mod_python Requires(post): %{name}-common @@ -72,6 +75,7 @@ server. Group: Applications/Internet Summary: The SSL Redirect component for the Spacewalk Proxy Server Requires: spacewalk-proxy-broker = %{version}-%{release} +Requires: httpd Obsoletes: rhns-proxy-redirect < 5.3.0
%description redirect @@ -279,6 +283,9 @@ fi
%changelog +* Thu Mar 26 2009 Miroslav Suchý msuchy@redhat.com +- add dependency on httpd + * Thu Jan 29 2009 Miroslav Suchý msuchy@redhat.com 0.5.6-1 - 482831 - support redirect to Akamai
commit 452b17b4d7bfeee7841110425501feb820f93add Author: Miroslav Suchý msuchy@redhat.com Date: Thu Mar 26 15:22:31 2009 +0100
Automatic commit of package [spacewalk-web] release [0.5.21-1].
diff --git a/rel-eng/packages/spacewalk-web b/rel-eng/packages/spacewalk-web index 25b0a41..f8ad15a 100644 --- a/rel-eng/packages/spacewalk-web +++ b/rel-eng/packages/spacewalk-web @@ -1 +1 @@ -0.5.20-1 web/ +0.5.21-1 web/ diff --git a/web/spacewalk-web.spec b/web/spacewalk-web.spec index ab55e76..dacf4d4 100644 --- a/web/spacewalk-web.spec +++ b/web/spacewalk-web.spec @@ -2,7 +2,7 @@ Name: spacewalk-web Summary: Spacewalk Web site packages Group: Applications/Internet License: GPLv2 -Version: 0.5.20 +Version: 0.5.21 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -318,6 +318,12 @@ rm -rf $RPM_BUILD_ROOT
# $Id$ %changelog +* Thu Mar 26 2009 Miroslav Suchy msuchy@redhat.com 0.5.21-1 +491667 - do not fail if none of the packages are installed +code cleanup - remove 3.6 and 3.7 proxy installer (EOL) +491670 - add rhn-proxy-branding to list of package to remove in 5.3 +491670 - add conflicting package from older proxy versions + * Wed Mar 25 2009 Jan Pazdziora 0.5.20-1 - 491687 - call wrapper around sudo invocations, to change SELinux domain
commit 61f9238b239208ba47fd0336cade55df844addef Author: Miroslav Suchý msuchy@redhat.com Date: Thu Mar 26 14:10:29 2009 +0100
491667 - do not fail if none of the packages are installed
diff --git a/web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml index 940cd3a..82fd748 100644 --- a/web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/4.0/install-rhn-proxy.xml @@ -564,8 +564,11 @@ Would you like to enable Monitoring Proxy functionality on this system? <action-name>Remove conflicting proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in ${session.packages_list_proxy}; do -rpm -q $package >/dev/null && echo $package; done` +PACKAGES=`for package in ${session.packages_list_proxy}; do + rpm -q $package >/dev/null && echo $package; done` +if [ -n "$PACKAGES" ]; then + rpm -e $PACKAGES +fi </script> </run-script>
@@ -795,8 +798,11 @@ proxy will need to be reconfigured to use a different Satellite server. <action-name>Remove proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd jabberd jabberd MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-apache rhn-base-minimal rhn-base-minimal rhn-base-minimal rhn-modperl rhn-modpython rhn-modssl rhn-ssl-cert-check rhns rhns rhns rhns-auth-daemon rhns-auth-daemon rhns-auth-daemon rhns-certs-tools rhns-certs-tools rhns-certs-tools rhns-proxy-broker rhns-proxy-broker rhns-proxy-broker rhns-proxy-docs rhns-proxy-docs rhns-proxy-docs rhns-proxy-management rhns-proxy-management rhns-proxy-management rhns-proxy-monitoring rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-package-manager rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-redirect rhns-proxy-redirect rhns-proxy-tools rhns-proxy-tools rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl; do +PACKAGES=`for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd jabberd jabberd MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-apache rhn-base-minimal rhn-base-minimal rhn-base-minimal rhn-modperl rhn-modpython rhn-modssl rhn-ssl-cert-check rhns rhns rhns rhns-auth-daemon rhns-auth-daemon rhns-auth-daemon rhns-certs-tools rhns-certs-tools rhns-certs-tools rhns-proxy-broker rhns-proxy-broker rhns-proxy-broker rhns-proxy-docs rhns-proxy-docs rhns-proxy-docs rhns-proxy-management rhns-proxy-management rhns-proxy-management rhns-proxy-monitoring rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-package-manager rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-redirect rhns-proxy-redirect rhns-proxy-tools rhns-proxy-tools rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl; do rpm -q $package >/dev/null && echo $package; done` +if [ -n "$PACKAGES" ]; then + rpm -e $PACKAGES +fi </script> </run-script>
diff --git a/web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml index 5ff8ec9..55441f0 100644 --- a/web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/4.1/install-rhn-proxy.xml @@ -564,8 +564,11 @@ Would you like to enable Monitoring Proxy functionality on this system? <action-name>Remove conflicting proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in ${session.packages_list_proxy}; do -rpm -q $package >/dev/null && echo $package; done` +PACKAGES=`for package in ${session.packages_list_proxy}; do + rpm -q $package >/dev/null && echo $package; done` +if [ -n "$PACKAGES" ]; then + rpm -e $PACKAGES +fi </script> </run-script>
@@ -795,9 +798,12 @@ proxy will need to be reconfigured to use a different Satellite server. <action-name>Remove proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-apache rhn-base-minimal rhn-modperl rhn-modpython rhn-modssl rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl; do +PACKAGES=`for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-apache rhn-base-minimal rhn-modperl rhn-modpython rhn-modssl rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl; do rpm -q $package >/dev/null && echo $package; done` - </script> +if [ -n "$PACKAGES" ]; then + rpm -e $PACKAGES +fi + </script> </run-script>
</schedule-actions> diff --git a/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml index b5a8610..fd2bcc5 100644 --- a/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml @@ -581,8 +581,11 @@ Would you like to enable Monitoring Proxy functionality on this system? <action-name>Remove conflicting proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in ${session.packages_list_proxy}; do -rpm -q $package >/dev/null && echo $package; done` +PACKAGES=`for package in ${session.packages_list_proxy}; do + rpm -q $package >/dev/null && echo $package; done` +if [ -n "$PACKAGES" ]; then + rpm -e $PACKAGES +fi </script> </run-script>
@@ -812,8 +815,11 @@ proxy will need to be reconfigured to use a different Satellite server. <action-name>Remove proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-apache rhn-base-minimal rhn-modperl rhn-modpython rhn-modssl rhn-ssl-cert-check rhns rhns rhns-auth-daemon rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-broker rhns-proxy-docs rhns-proxy-docs rhns-proxy-management rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-redirect rhns-proxy-tools rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl; do +PACKAGES=`for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-apache rhn-base-minimal rhn-modperl rhn-modpython rhn-modssl rhn-ssl-cert-check rhns rhns rhns-auth-daemon rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-broker rhns-proxy-docs rhns-proxy-docs rhns-proxy-management rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-redirect rhns-proxy-tools rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl; do rpm -q $package >/dev/null && echo $package; done` +if [ -n "$PACKAGES" ]; then + rpm -e $PACKAGES +fi </script> </run-script>
diff --git a/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml index b0b399f..a57fe42 100644 --- a/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml @@ -581,8 +581,11 @@ Would you like to enable Monitoring Proxy functionality on this system? <action-name>Remove conflicting proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in ${session.packages_list_proxy}; do -rpm -q $package >/dev/null && echo $package; done` +PACKAGES=`for package in ${session.packages_list_proxy}; do + rpm -q $package >/dev/null && echo $package; done` +if [ -n "$PACKAGES" ]; then + rpm -e $PACKAGES +fi </script> </run-script>
@@ -812,8 +815,11 @@ proxy will need to be reconfigured to use a different Satellite server. <action-name>Remove proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-apache rhn-base-minimal rhn-modperl rhn-modpython rhn-modssl rhn-ssl-cert-check rhns rhns rhns-auth-daemon rhns-auth-daemon rhns-certs-tools rhns-certs-tools rhns-proxy-broker rhns-proxy-broker rhns-proxy-docs rhns-proxy-docs rhns-proxy-management rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-redirect rhns-proxy-tools rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl; do +PACKAGES=`for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-apache rhn-base-minimal rhn-modperl rhn-modpython rhn-modssl rhn-ssl-cert-check rhns rhns rhns-auth-daemon rhns-auth-daemon rhns-certs-tools rhns-certs-tools rhns-proxy-broker rhns-proxy-broker rhns-proxy-docs rhns-proxy-docs rhns-proxy-management rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-redirect rhns-proxy-tools rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl; do rpm -q $package >/dev/null && echo $package; done` +if [ -n "$PACKAGES" ]; then + rpm -e $PACKAGES +fi </script> </run-script>
diff --git a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml index 99b86ac..fb21b7c 100644 --- a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml @@ -576,8 +576,11 @@ Would you like to enable Monitoring Proxy functionality on this system? <action-name>Remove conflicting proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in ${session.packages_list_proxy}; do -rpm -q $package >/dev/null && echo $package; done` +PACKAGES=`for package in ${session.packages_list_proxy}; do + rpm -q $package >/dev/null && echo $package; done` +if [ -n "$PACKAGES" ]; then + rpm -e $PACKAGES +fi </script> </run-script>
@@ -806,8 +809,11 @@ proxy will need to be reconfigured to use a different Satellite server. <action-name>Remove proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl httpd-suexec; do +PACKAGES=`for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl httpd-suexec; do rpm -q $package >/dev/null && echo $package; done` +if [ -n "$PACKAGES" ]; then + rpm -e $PACKAGES +fi </script> </run-script>
diff --git a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml index 42a65fe..1690269 100644 --- a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml @@ -581,8 +581,11 @@ Would you like to enable Monitoring Proxy functionality on this system? <action-name>Remove conflicting proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in ${session.packages_list_proxy}; do -rpm -q $package >/dev/null && echo $package; done` +PACKAGES=`for package in ${session.packages_list_proxy}; do + rpm -q $package >/dev/null && echo $package; done` +if [ -n "$PACKAGES" ]; then + rpm -e $PACKAGES +fi </script> </run-script>
@@ -812,8 +815,11 @@ proxy will need to be reconfigured to use a different Satellite server. <action-name>Remove proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-common rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl httpd-suexec; do +PACKAGES=`for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-common rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl httpd-suexec; do rpm -q $package >/dev/null && echo $package; done` +if [ -n "$PACKAGES" ]; then + rpm -e $PACKAGES +fi </script> </run-script>
diff --git a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml index 2271ef8..8990501 100644 --- a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml @@ -581,8 +581,11 @@ Would you like to enable Monitoring Proxy functionality on this system? <action-name>Remove conflicting proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in ${session.packages_list_proxy}; do -rpm -q $package >/dev/null && echo $package; done` +PACKAGES=`for package in ${session.packages_list_proxy}; do + rpm -q $package >/dev/null && echo $package; done` +if [ -n "$PACKAGES" ]; then + rpm -e $PACKAGES +fi </script> </run-script>
@@ -848,8 +851,11 @@ proxy will need to be reconfigured to use a different Satellite server. <action-name>Remove proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-common rhns-proxy-docs rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl httpd httpd-suexec spacewalk-proxy-html spacewalk-ssl-cert-check spacewalk-proxy-common spacewalk-proxy-installer spacewalk-proxy-docs spacewalk-proxy-monitoring spacewalk-backend spacewalk-proxy-package-manager spacewalk-certs-tools spacewalk-proxy-broker spacewalk-proxy-management spacewalk-base-minimal spacewalk-proxy-redirect nocpulse-common nocpulse-db-perl jabberd-selinux rhn-proxy-branding; do +PACKAGES=`for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-common rhns-proxy-docs rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl httpd httpd-suexec spacewalk-proxy-html spacewalk-ssl-cert-check spacewalk-proxy-common spacewalk-proxy-installer spacewalk-proxy-docs spacewalk-proxy-monitoring spacewalk-backend spacewalk-proxy-package-manager spacewalk-certs-tools spacewalk-proxy-broker spacewalk-proxy-management spacewalk-base-minimal spacewalk-proxy-redirect nocpulse-common nocpulse-db-perl jabberd-selinux rhn-proxy-branding; do rpm -q $package >/dev/null && echo $package; done` +if [ -n "$PACKAGES" ]; then + rpm -e $PACKAGES +fi </script> </run-script>
commit 992b61ce014cd482f08d1755cec4ff9cff88c026 Author: Miroslav Suchý msuchy@redhat.com Date: Thu Mar 26 13:52:17 2009 +0100
code cleanup - remove 3.6 and 3.7 proxy installer (EOL)
diff --git a/web/html/applications/rhn-proxy/3.6/cluster.ini b/web/html/applications/rhn-proxy/3.6/cluster.ini deleted file mode 100644 index 5cb0ec1..0000000 --- a/web/html/applications/rhn-proxy/3.6/cluster.ini +++ /dev/null @@ -1,8 +0,0 @@ -RemoteConfig.0.protocol=https -RemoteConfig.0.path=/satconfig/cgi-bin/fetch_nocpulseini.cgi -smonaddr=${session.rhn_monitoring_parent_ip} -smonfqdn=${session.rhn_monitoring_parent} -smontestaddr=${session.rhn_monitoring_parent_ip} -smontestfqdn=${session.rhn_monitoring_parent} -scoutsharedkey=${session.scout_shared_key} -PhysNode.1.exists=1 diff --git a/web/html/applications/rhn-proxy/3.6/httpd/httpd.conf b/web/html/applications/rhn-proxy/3.6/httpd/httpd.conf deleted file mode 100644 index a065c7c..0000000 --- a/web/html/applications/rhn-proxy/3.6/httpd/httpd.conf +++ /dev/null @@ -1,1461 +0,0 @@ -# -# Based upon the NCSA server configuration files originally by Rob McCool. -# -# This is the main Apache server configuration file. It contains the -# configuration directives that give the server its instructions. -# See URL:http://www.apache.org/docs/ for detailed information about -# the directives. -# -# Do NOT simply read the instructions in here without understanding -# what they do. They're here only as hints or reminders. If you are unsure -# consult the online docs. You have been warned. -# -# After this file is processed, the server will look for and process -# /etc/httpd/conf/srm.conf and then /etc/httpd/conf/access.conf -# unless you have overridden these with ResourceConfig and/or -# AccessConfig directives here. -# -# The configuration directives are grouped into three basic sections: -# 1. Directives that control the operation of the Apache server process as a -# whole (the 'global environment'). -# 2. Directives that define the parameters of the 'main' or 'default' server, -# which responds to requests that aren't handled by a virtual host. -# These directives also provide default values for the settings -# of all virtual hosts. -# 3. Settings for virtual hosts, which allow Web requests to be sent to -# different IP addresses or hostnames and have them handled by the -# same Apache server process. -# -# Configuration and logfile names: If the filenames you specify for many -# of the server's control files begin with "/" (or "drive:/" for Win32), the -# server will use that explicit path. If the filenames do *not* begin -# with "/", the value of ServerRoot is prepended -- so "logs/foo.log" -# with ServerRoot set to "/usr/local/apache" will be interpreted by the -# server as "/usr/local/apache/logs/foo.log". -# - -### Section 1: Global Environment -# -# The directives in this section affect the overall operation of Apache, -# such as the number of concurrent requests it can handle or where it -# can find its configuration files. -# - -# -# ServerType is either inetd, or standalone. Inetd mode is only supported on -# Unix platforms. -# -ServerType standalone - -# -# ServerRoot: The top of the directory tree under which the server's -# configuration, error, and log files are kept. -# -# NOTE! If you intend to place this on an NFS (or otherwise network) -# mounted filesystem then please read the LockFile documentation -# (available at URL:http://www.apache.org/docs/mod/core.html#lockfile); -# you will save yourself a lot of trouble. -# -# Do NOT add a slash at the end of the directory path. -# -ServerRoot "/etc/httpd" - -# -# The LockFile directive sets the path to the lockfile used when Apache -# is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or -# USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at -# its default value. The main reason for changing it is if the logs -# directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL -# DISK. The PID of the main server process is automatically appended to -# the filename. -# -LockFile /var/run/httpd.lock - -# -# PidFile: The file in which the server should record its process -# identification number when it starts. -# -PidFile /var/run/httpd.pid - -# -# ScoreBoardFile: File used to store internal server process information. -# Not all architectures require this. But if yours does (you'll know because -# this file will be created when you run Apache) then you *must* ensure that -# no two invocations of Apache share the same scoreboard file. -# -ScoreBoardFile logs/apache_runtime_status - -# -# In the standard configuration, the server will process httpd.conf (this -# file, specified by the -f command line option), srm.conf, and access.conf -# in that order. The latter two files are now distributed empty, as it is -# recommended that all directives be kept in a single file for simplicity. -# The commented-out values below are the built-in defaults. You can have the -# server ignore these files altogether by using "/dev/null" (for Unix) or -# "nul" (for Win32) for the arguments to the directives. -# -#ResourceConfig conf/srm.conf -#AccessConfig conf/access.conf - -# -# Timeout: The number of seconds before receives and sends time out. -# -Timeout 300 - -# -# KeepAlive: Whether or not to allow persistent connections (more than -# one request per connection). Set to "Off" to deactivate. -# -KeepAlive Off - -# -# MaxKeepAliveRequests: The maximum number of requests to allow -# during a persistent connection. Set to 0 to allow an unlimited amount. -# We recommend you leave this number high, for maximum performance. -# -MaxKeepAliveRequests 100 - -# -# KeepAliveTimeout: Number of seconds to wait for the next request from the -# same client on the same connection. -# -KeepAliveTimeout 15 - -# -# Server-pool size regulation. Rather than making you guess how many -# server processes you need, Apache dynamically adapts to the load it -# sees --- that is, it tries to maintain enough server processes to -# handle the current load, plus a few spare servers to handle transient -# load spikes (e.g., multiple simultaneous requests from a single -# Netscape browser). -# -# It does this by periodically checking how many servers are waiting -# for a request. If there are fewer than MinSpareServers, it creates -# a new spare. If there are more than MaxSpareServers, some of the -# spares die off. The default values are probably OK for most sites. -# -MinSpareServers 5 -MaxSpareServers 20 - -# -# Number of servers to start initially --- should be a reasonable ballpark -# figure. -# -StartServers 8 - -# -# Limit on total number of servers running, i.e., limit on the number -# of clients who can simultaneously connect --- if this limit is ever -# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW. -# It is intended mainly as a brake to keep a runaway server from taking -# the system with it as it spirals down... -# -MaxClients 150 - -# -# MaxRequestsPerChild: the number of requests each child process is -# allowed to process before the child dies. The child will exit so -# as to avoid problems after prolonged use when Apache (and maybe the -# libraries it uses) leak memory or other resources. On most systems, this -# isn't really needed, but a few (such as Solaris) do have notable leaks -# in the libraries. For these platforms, set to something like 10000 -# or so; a setting of 0 means unlimited. -# -# NOTE: This value does not include keepalive requests after the initial -# request per connection. For example, if a child process handles -# an initial request and 10 subsequent "keptalive" requests, it -# would only count as 1 request towards this limit. -# -MaxRequestsPerChild 1000 - -# -# Listen: Allows you to bind Apache to specific IP addresses and/or -# ports, in addition to the default. See also the <VirtualHost> -# directive. -# -#Listen 3000 -#Listen 12.34.56.78:80 -#Listen 80 - -# -# BindAddress: You can support virtual hosts with this option. This directive -# is used to tell the server which IP address to listen to. It can either -# contain "*", an IP address, or a fully qualified Internet domain name. -# See also the <VirtualHost> and Listen directives. -# -#BindAddress * - -# -# Dynamic Shared Object (DSO) Support -# -# To be able to use the functionality of a module which was built as a DSO you -# have to place corresponding `LoadModule' lines at this location so the -# directives contained in it are actually available _before_ they are used. -# Please read the file http://httpd.apache.org/docs/dso.html for more -# details about the DSO mechanism and run `httpd -l' for the list of already -# built-in (statically linked and thus always available) modules in your httpd -# binary. -# -# Note: The order in which modules are loaded is important. Don't change -# the order below without expert advice. -# -# Example: -# LoadModule foo_module modules/mod_foo.so - -#LoadModule mmap_static_module modules/mod_mmap_static.so -LoadModule vhost_alias_module modules/mod_vhost_alias.so -<IfDefine HAVE_BANDWIDTH> -LoadModule bandwidth_module modules/mod_bandwidth.so -</IfDefine> -<IfDefine HAVE_THROTTLE> -LoadModule throttle_module modules/mod_throttle.so -</IfDefine> -LoadModule env_module modules/mod_env.so -LoadModule config_log_module modules/mod_log_config.so -LoadModule agent_log_module modules/mod_log_agent.so -LoadModule referer_log_module modules/mod_log_referer.so -#LoadModule mime_magic_module modules/mod_mime_magic.so -LoadModule mime_module modules/mod_mime.so -#LoadModule negotiation_module modules/mod_negotiation.so -LoadModule status_module modules/mod_status.so -LoadModule info_module modules/mod_info.so -LoadModule includes_module modules/mod_include.so -LoadModule autoindex_module modules/mod_autoindex.so -LoadModule dir_module modules/mod_dir.so -LoadModule cgi_module modules/mod_cgi.so -LoadModule asis_module modules/mod_asis.so -LoadModule imap_module modules/mod_imap.so -LoadModule action_module modules/mod_actions.so -#LoadModule speling_module modules/mod_speling.so -LoadModule userdir_module modules/mod_userdir.so -LoadModule alias_module modules/mod_alias.so -LoadModule rewrite_module modules/mod_rewrite.so -LoadModule access_module modules/mod_access.so -LoadModule auth_module modules/mod_auth.so -LoadModule anon_auth_module modules/mod_auth_anon.so -#LoadModule db_auth_module modules/mod_auth_db.so -#LoadModule auth_any_module modules/mod_auth_any.so -#LoadModule dbm_auth_module modules/mod_auth_dbm.so -#LoadModule auth_ldap_module modules/mod_auth_ldap.so -#LoadModule mysql_auth_module modules/mod_auth_mysql.so -#LoadModule auth_pgsql_module modules/mod_auth_pgsql.so -#LoadModule digest_module modules/mod_digest.so -#LoadModule proxy_module modules/libproxy.so -#LoadModule cern_meta_module modules/mod_cern_meta.so -LoadModule expires_module modules/mod_expires.so -LoadModule headers_module modules/mod_headers.so -#LoadModule usertrack_module modules/mod_usertrack.so -#LoadModule example_module modules/mod_example.so -#LoadModule unique_id_module modules/mod_unique_id.so -LoadModule setenvif_module modules/mod_setenvif.so -<IfDefine HAVE_PERL> -LoadModule perl_module modules/libperl.so -</IfDefine> -<IfDefine HAVE_PHP> -LoadModule php_module modules/mod_php.so -</IfDefine> -<IfDefine HAVE_PHP3> -LoadModule php3_module modules/libphp3.so -</IfDefine> -<IfDefine HAVE_PHP4> -LoadModule php4_module modules/libphp4.so -</IfDefine> -<IfDefine HAVE_DAV> -LoadModule dav_module modules/libdav.so -</IfDefine> -<IfDefine HAVE_ROAMING> -LoadModule roaming_module modules/mod_roaming.so -</IfDefine> -<IfDefine HAVE_SSL> -LoadModule ssl_module modules/libssl.so -</IfDefine> -<IfDefine HAVE_PUT> -LoadModule put_module modules/mod_put.so -</IfDefine> -<IfDefine HAVE_PYTHON> -LoadModule python_module modules/mod_python.so -</IfDefine> - -# Reconstruction of the complete module list from all available modules -# (static and shared ones) to achieve correct module execution order. -# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO] -ClearModuleList -#AddModule mod_mmap_static.c -AddModule mod_vhost_alias.c -<IfDefine HAVE_BANDWIDTH> -AddModule mod_bandwidth.c -</IfDefine> -<IfDefine HAVE_THROTTLE> -AddModule mod_throttle.c -</IfDefine> -AddModule mod_env.c -AddModule mod_log_config.c -AddModule mod_log_agent.c -AddModule mod_log_referer.c -#AddModule mod_mime_magic.c -AddModule mod_mime.c -#AddModule mod_negotiation.c -AddModule mod_status.c -AddModule mod_info.c -AddModule mod_include.c -AddModule mod_autoindex.c -AddModule mod_dir.c -AddModule mod_cgi.c -AddModule mod_asis.c -AddModule mod_imap.c -AddModule mod_actions.c -#AddModule mod_speling.c -AddModule mod_userdir.c -AddModule mod_alias.c -AddModule mod_rewrite.c -AddModule mod_access.c -AddModule mod_auth.c -AddModule mod_auth_anon.c -#AddModule mod_auth_db.c -#AddModule mod_auth_any.c -#AddModule mod_auth_dbm.c -#AddModule auth_ldap.c -#AddModule mod_auth_mysql.c -#AddModule mod_auth_pgsql.c -#AddModule mod_digest.c -#AddModule mod_proxy.c -#AddModule mod_cern_meta.c -AddModule mod_expires.c -AddModule mod_headers.c -#AddModule mod_usertrack.c -#AddModule mod_example.c -#AddModule mod_unique_id.c -AddModule mod_so.c -AddModule mod_setenvif.c -<IfDefine HAVE_PERL> -AddModule mod_perl.c -</IfDefine> -<IfDefine HAVE_PHP> -AddModule mod_php.c -</IfDefine> -<IfDefine HAVE_PHP3> -AddModule mod_php3.c -</IfDefine> -<IfDefine HAVE_PHP4> -AddModule mod_php4.c -</IfDefine> -<IfDefine HAVE_DAV> -AddModule mod_dav.c -</IfDefine> -<IfDefine HAVE_ROAMING> -AddModule mod_roaming.c -</IfDefine> -<IfDefine HAVE_SSL> -AddModule mod_ssl.c -</IfDefine> -<IfDefine HAVE_PUT> -AddModule mod_put.c -</IfDefine> -<IfDefine HAVE_PYTHON> -AddModule mod_python.c -</IfDefine> - -# -# ExtendedStatus controls whether Apache will generate "full" status -# information (ExtendedStatus On) or just basic information (ExtendedStatus -# Off) when the "server-status" handler is called. The default is Off. -# -#ExtendedStatus On - -### Section 2: 'Main' server configuration -# -# The directives in this section set up the values used by the 'main' -# server, which responds to any requests that aren't handled by a -# <VirtualHost> definition. These values also provide defaults for -# any <VirtualHost> containers you may define later in the file. -# -# All of these directives may appear inside <VirtualHost> containers, -# in which case these default settings will be overridden for the -# virtual host being defined. -# - -# -# If your ServerType directive (set earlier in the 'Global Environment' -# section) is set to "inetd", the next few directives don't have any -# effect since their settings are defined by the inetd configuration. -# Skip ahead to the ServerAdmin directive. -# - -# -# Port: The port to which the standalone server listens. For -# ports < 1023, you will need httpd to be run as root initially. -# -Port 80 - -## -## SSL Support -## -## When we also provide SSL we have to listen to the -## standard HTTP port (see above) and to the HTTPS port -## -<IfDefine HAVE_SSL> -Listen 80 -Listen 443 -</IfDefine> - -# -# If you wish httpd to run as a different user or group, you must run -# httpd as root initially and it will switch. -# -# User/Group: The name (or #number) of the user/group to run httpd as. -# . On SCO (ODT 3) use "User nouser" and "Group nogroup". -# . On HPUX you may not be able to use shared memory as nobody, and the -# suggested workaround is to create a user www and use that user. -# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET) -# when the value of (unsigned)Group is above 60000; -# don't use Group "#-1" on these systems! -# -User apache -Group apache - -# -# ServerAdmin: Your address, where problems with the server should be -# e-mailed. This address appears on some server-generated pages, such -# as error documents. -# -ServerAdmin root@localhost - -# -# ServerName allows you to set a host name which is sent back to clients for -# your server if it's different than the one the program would get (i.e., use -# "www" instead of the host's real name). -# -# Note: You cannot just invent host names and hope they work. The name you -# define here must be a valid DNS name for your host. If you don't understand -# this, ask your network administrator. -# If your host doesn't have a registered DNS name, enter its IP address here. -# You will have to access it by its address (e.g., http://123.45.67.89/) -# anyway, and this will make redirections work in a sensible way. -# -# 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your -# machine always knows itself by this address. If you use Apache strictly for -# local testing and development, you may use 127.0.0.1 as the server name. -# -#ServerName localhost - -# -# DocumentRoot: The directory out of which you will serve your -# documents. By default, all requests are taken from this directory, but -# symbolic links and aliases may be used to point to other locations. -# -DocumentRoot "/var/www/html" - -# -# Each directory to which Apache has access, can be configured with respect -# to which services and features are allowed and/or disabled in that -# directory (and its subdirectories). -# -# First, we configure the "default" to be a very restrictive set of -# permissions. -# -<Directory /> - Options FollowSymLinks - AllowOverride None -</Directory> - -# -# Note that from this point forward you must specifically allow -# particular features to be enabled - so if something's not working as -# you might expect, make sure that you have specifically enabled it -# below. -# - -# -# This should be changed to whatever you set DocumentRoot to. -# -<Directory "/var/www/html"> - -# -# This may also be "None", "All", or any combination of "Indexes", -# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews". -# -# Note that "MultiViews" must be named *explicitly* --- "Options All" -# doesn't give it to you. -# - Options Indexes FollowSymLinks - -# -# This controls which options the .htaccess files in directories can -# override. Can also be "All", or any combination of "Options", "FileInfo", -# "AuthConfig", and "Limit" -# - AllowOverride None - -# -# Controls who can get stuff from this server. -# - Order allow,deny - Allow from all -</Directory> - -# -# UserDir: The name of the directory which is appended onto a user's home -# directory if a ~user request is received. -# -# The path to the end user account 'public_html' directory must be -# accessible to the webserver userid. This usually means that ~userid -# must have permissions of 711, ~userid/public_html must have permissions -# of 755, and documents contained therein must be world-readable. -# Otherwise, the client will only receive a "403 Forbidden" message. -# -# See also: http://httpd.apache.org/docs/misc/FAQ.html#forbidden -# -<IfModule mod_userdir.c> - UserDir public_html -</IfModule> - -# -# Control access to UserDir directories. The following is an example -# for a site where these directories are restricted to read-only. -# -#<Directory /home/*/public_html> -# AllowOverride FileInfo AuthConfig Limit -# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec -# <Limit GET POST OPTIONS PROPFIND> -# Order allow,deny -# Allow from all -# </Limit> -# <LimitExcept GET POST OPTIONS PROPFIND> -# Order deny,allow -# Deny from all -# </LimitExcept> -#</Directory> - -# -# DirectoryIndex: Name of the file or files to use as a pre-written HTML -# directory index. Separate multiple entries with spaces. -# -<IfModule mod_dir.c> - DirectoryIndex _rhn_proxy/index.html index.html index.htm index.shtml index.php index.php4 index.php3 index.phtml index.cgi -</IfModule> - -# -# AccessFileName: The name of the file to look for in each directory -# for access control information. -# -AccessFileName .htaccess - -# -# The following lines prevent .htaccess files from being viewed by -# Web clients. Since .htaccess files often contain authorization -# information, access is disallowed for security reasons. Comment -# these lines out if you want Web visitors to see the contents of -# .htaccess files. If you change the AccessFileName directive above, -# be sure to make the corresponding changes here. -# -# Also, folks tend to use names such as .htpasswd for password -# files, so this will protect those as well. -# -<Files ~ "^.ht"> - Order allow,deny - Deny from all - Satisfy All -</Files> - -# -# CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each -# document that was negotiated on the basis of content. This asks proxy -# servers not to cache the document. Uncommenting the following line disables -# this behavior, and proxies will be allowed to cache the documents. -# -#CacheNegotiatedDocs - -# -# UseCanonicalName: (new for 1.3) With this setting turned on, whenever -# Apache needs to construct a self-referencing URL (a URL that refers back -# to the server the response is coming from) it will use ServerName and -# Port to form a "canonical" name. With this setting off, Apache will -# use the hostname:port that the client supplied, when possible. This -# also affects SERVER_NAME and SERVER_PORT in CGI scripts. -# -UseCanonicalName On - -# -# TypesConfig describes where the mime.types file (or equivalent) is -# to be found. -# -<IfModule mod_mime.c> - TypesConfig /etc/mime.types -</IfModule> - -# -# DefaultType is the default MIME type the server will use for a document -# if it cannot otherwise determine one, such as from filename extensions. -# If your server contains mostly text or HTML documents, "text/plain" is -# a good value. If most of your content is binary, such as applications -# or images, you may want to use "application/octet-stream" instead to -# keep browsers from trying to display binary files as though they are -# text. -# -DefaultType text/plain - -# -# The mod_mime_magic module allows the server to use various hints from the -# contents of the file itself to determine its type. The MIMEMagicFile -# directive tells the module where the hint definitions are located. -# mod_mime_magic is not part of the default server (you have to add -# it yourself with a LoadModule [see the DSO paragraph in the 'Global -# Environment' section], or recompile the server and include mod_mime_magic -# as part of the configuration), so it's enclosed in an <IfModule> container. -# This means that the MIMEMagicFile directive will only be processed if the -# module is part of the server. -# -<IfModule mod_mime_magic.c> -# MIMEMagicFile /usr/share/magic.mime - MIMEMagicFile conf/magic -</IfModule> - -# -# HostnameLookups: Log the names of clients or just their IP addresses -# e.g., www.apache.org (on) or 204.62.129.132 (off). -# The default is off because it'd be overall better for the net if people -# had to knowingly turn this feature on, since enabling it means that -# each client request will result in AT LEAST one lookup request to the -# nameserver. -# -HostnameLookups Off - -# -# ErrorLog: The location of the error log file. -# If you do not specify an ErrorLog directive within a <VirtualHost> -# container, error messages relating to that virtual host will be -# logged here. If you *do* define an error logfile for a <VirtualHost> -# container, that host's errors will be logged there and not here. -# -ErrorLog logs/error_log - -# -# LogLevel: Control the number of messages logged to the error_log. -# Possible values include: debug, info, notice, warn, error, crit, -# alert, emerg. -# -LogLevel warn - -# -# The following directives define some format nicknames for use with -# a CustomLog directive (see below). -# -LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined -LogFormat "%h %l %u %t "%r" %>s %b" common -LogFormat "%{Referer}i -> %U" referer -LogFormat "%{User-agent}i" agent - -# -# The location and format of the access logfile (Common Logfile Format). -# If you do not define any access logfiles within a <VirtualHost> -# container, they will be logged here. Contrariwise, if you *do* -# define per-<VirtualHost> access logfiles, transactions will be -# logged therein and *not* in this file. -# -# CustomLog /var/log/httpd/access_log common -CustomLog logs/access_log combined - -# -# If you would like to have agent and referer logfiles, uncomment the -# following directives. -# -#CustomLog logs/referer_log referer -#CustomLog logs/agent_log agent - -# -# If you prefer a single logfile with access, agent, and referer information -# (Combined Logfile Format) you can use the following directive. -# -#CustomLog logs/access_log combined - -# -# Optionally add a line containing the server version and virtual host -# name to server-generated pages (error documents, FTP directory listings, -# mod_status and mod_info output etc., but not CGI generated documents). -# Set to "EMail" to also include a mailto: link to the ServerAdmin. -# Set to one of: On | Off | EMail -# -ServerSignature On - -# EBCDIC configuration: -# (only for mainframes using the EBCDIC codeset, currently one of: -# Fujitsu-Siemens' BS2000/OSD, IBM's OS/390 and IBM's TPF)!! -# The following default configuration assumes that "text files" -# are stored in EBCDIC (so that you can operate on them using the -# normal POSIX tools like grep and sort) while "binary files" are -# stored with identical octets as on an ASCII machine. -# -# The directives are evaluated in configuration file order, with -# the EBCDICConvert directives applied before EBCDICConvertByType. -# -# If you want to have ASCII HTML documents and EBCDIC HTML documents -# at the same time, you can use the file extension to force -# conversion off for the ASCII documents: -# > AddType text/html .ahtml -# > EBCDICConvert Off=InOut .ahtml -# -# EBCDICConvertByType On=InOut text/* message/* multipart/* -# EBCDICConvertByType On=In application/x-www-form-urlencoded -# EBCDICConvertByType On=InOut application/postscript model/vrml -# EBCDICConvertByType Off=InOut */* - - -# -# Aliases: Add here as many aliases as you need (with no limit). The format is -# Alias fakename realname -# -<IfModule mod_alias.c> - - # - # Note that if you include a trailing / on fakename then the server will - # require it to be present in the URL. So "/icons" isn't aliased in this - # example, only "/icons/". If the fakename is slash-terminated, then the - # realname must also be slash terminated, and if the fakename omits the - # trailing slash, the realname must also omit it. - # - Alias /icons/ "/var/www/icons/" - - <Directory "/var/www/icons"> - Options Indexes MultiViews - AllowOverride None - Order allow,deny - Allow from all - </Directory> - - # This Alias will project the on-line documentation tree under /manual/ - # even if you change the DocumentRoot. Comment it if you don't want to - # provide access to the on-line documentation. - # - # Alias /manual/ "/etc/httpd/htdocs/manual/" - # - # <Directory "/etc/httpd/htdocs/manual"> - # Options Indexes FollowSymlinks MultiViews - # AllowOverride None - # Order allow,deny - # Allow from all - # </Directory> - - # - # ScriptAlias: This controls which directories contain server scripts. - # ScriptAliases are essentially the same as Aliases, except that - # documents in the realname directory are treated as applications and - # run by the server when requested rather than as documents sent to the client. - # The same rules about trailing "/" apply to ScriptAlias directives as to - # Alias. - # - ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" - - # - # "/var/www/cgi-bin" should be changed to whatever your ScriptAliased - # CGI directory exists, if you have that configured. - # - <Directory "/var/www/cgi-bin"> - AllowOverride None - Options None - Order allow,deny - Allow from all - </Directory> - -</IfModule> -# End of aliases. - -# -# Redirect allows you to tell clients about documents which used to exist in -# your server's namespace, but do not anymore. This allows you to tell the -# clients where to look for the relocated document. -# Format: Redirect old-URI new-URL -# - -# -# Directives controlling the display of server-generated directory listings. -# -<IfModule mod_autoindex.c> - - # - # FancyIndexing is whether you want fancy directory indexing or standard - # - IndexOptions FancyIndexing NameWidth=* - - # - # AddIcon* directives tell the server which icon to show for different - # files or filename extensions. These are only displayed for - # FancyIndexed directories. - # - AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip - - AddIconByType (TXT,/icons/text.gif) text/* - AddIconByType (IMG,/icons/image2.gif) image/* - AddIconByType (SND,/icons/sound2.gif) audio/* - AddIconByType (VID,/icons/movie.gif) video/* - - AddIcon /icons/binary.gif .bin .exe - AddIcon /icons/binhex.gif .hqx - AddIcon /icons/tar.gif .tar - AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv - AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip - AddIcon /icons/a.gif .ps .ai .eps - AddIcon /icons/layout.gif .html .shtml .htm .pdf - AddIcon /icons/text.gif .txt - AddIcon /icons/c.gif .c - AddIcon /icons/p.gif .pl .py - AddIcon /icons/f.gif .for - AddIcon /icons/dvi.gif .dvi - AddIcon /icons/uuencoded.gif .uu - AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl - AddIcon /icons/tex.gif .tex - AddIcon /icons/bomb.gif core - - AddIcon /icons/back.gif .. - AddIcon /icons/hand.right.gif README - AddIcon /icons/folder.gif ^^DIRECTORY^^ - AddIcon /icons/blank.gif ^^BLANKICON^^ - - # - # DefaultIcon is which icon to show for files which do not have an icon - # explicitly set. - # - DefaultIcon /icons/unknown.gif - - # - # AddDescription allows you to place a short description after a file in - # server-generated indexes. These are only displayed for FancyIndexed - # directories. - # Format: AddDescription "description" filename - # - #AddDescription "GZIP compressed document" .gz - #AddDescription "tar archive" .tar - #AddDescription "GZIP compressed tar archive" .tgz - - # - # ReadmeName is the name of the README file the server will look for by - # default, and append to directory listings. - # - # HeaderName is the name of a file which should be prepended to - # directory indexes. - # - # If MultiViews are amongst the Options in effect, the server will - # first look for name.html and include it if found. If name.html - # doesn't exist, the server will then look for name.txt and include - # it as plaintext if found. - # - ReadmeName README - HeaderName HEADER - - # - # IndexIgnore is a set of filenames which directory indexing should ignore - # and not include in the listing. Shell-style wildcarding is permitted. - # - IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t - -</IfModule> -# End of indexing directives. - -# -# Document types. -# -<IfModule mod_mime.c> - - # - # AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress - # information on the fly. Note: Not all browsers support this. - # Despite the name similarity, the following Add* directives have nothing - # to do with the FancyIndexing customization directives above. - # - AddEncoding x-compress Z - AddEncoding x-gzip gz tgz - - # - # AddLanguage allows you to specify the language of a document. You can - # then use content negotiation to give a browser a file in a language - # it can understand. - # - # Note 1: The suffix does not have to be the same as the language - # keyword --- those with documents in Polish (whose net-standard - # language code is pl) may wish to use "AddLanguage pl .po" to - # avoid the ambiguity with the common suffix for perl scripts. - # - # Note 2: The example entries below illustrate that in quite - # some cases the two character 'Language' abbreviation is not - # identical to the two character 'Country' code for its country, - # E.g. 'Danmark/dk' versus 'Danish/da'. - # - # Note 3: In the case of 'ltz' we violate the RFC by using a three char - # specifier. But there is 'work in progress' to fix this and get - # the reference data for rfc1766 cleaned up. - # - # Danish (da) - Dutch (nl) - English (en) - Estonian (ee) - # French (fr) - German (de) - Greek-Modern (el) - # Italian (it) - Korean (kr) - Norwegian (no) - Norwegian Nynorsk (nn) - # Portugese (pt) - Luxembourgeois* (ltz) - # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz) - # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja) - # Russian (ru) - # - AddLanguage da .dk - AddLanguage nl .nl - AddLanguage en .en - AddLanguage et .ee - AddLanguage fr .fr - AddLanguage de .de - AddLanguage el .el - AddLanguage he .he - AddCharset ISO-8859-8 .iso8859-8 - AddLanguage it .it - AddLanguage ja .ja - AddCharset ISO-2022-JP .jis - AddLanguage kr .kr - AddCharset ISO-2022-KR .iso-kr - AddLanguage nn .nn - AddLanguage no .no - AddLanguage pl .po - AddCharset ISO-8859-2 .iso-pl - AddLanguage pt .pt - AddLanguage pt-br .pt-br - AddLanguage ltz .lu - AddLanguage ca .ca - AddLanguage es .es - AddLanguage sv .se - AddLanguage cz .cz - AddLanguage ru .ru - AddLanguage zh-tw .tw - AddLanguage tw .tw - AddCharset Big5 .Big5 .big5 - AddCharset WINDOWS-1251 .cp-1251 - AddCharset CP866 .cp866 - AddCharset ISO-8859-5 .iso-ru - AddCharset KOI8-R .koi8-r - AddCharset UCS-2 .ucs2 - AddCharset UCS-4 .ucs4 - AddCharset UTF-8 .utf8 - - # LanguagePriority allows you to give precedence to some languages - # in case of a tie during content negotiation. - # - # Just list the languages in decreasing order of preference. We have - # more or less alphabetized them here. You probably want to change this. - # - <IfModule mod_negotiation.c> - LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw - </IfModule> - - # - # AddType allows you to tweak mime.types without actually editing it, or to - # make certain files to be certain types. - # - # For example, the PHP 3.x module (not part of the Apache distribution - see - # http://www.php.net) will typically use: - # - <IfModule mod_php3.c> - AddType application/x-httpd-php3 .php3 - AddType application/x-httpd-php3-source .phps - </IfModule> - # - # And for PHP 4.x, use: - # - <IfModule mod_php4.c> - AddType application/x-httpd-php .php .php4 .php3 .phtml - AddType application/x-httpd-php-source .phps - </IfModule> - - # - # For PHP/FI (PHP2), use: - # - <IfModule mod_php.c> - AddType application/x-httpd-php .phtml - </IfModule> - - AddType application/x-tar .tgz - - # - # AddHandler allows you to map certain file extensions to "handlers", - # actions unrelated to filetype. These can be either built into the server - # or added with the Action command (see below) - # - # If you want to use server side includes, or CGI outside - # ScriptAliased directories, uncomment the following lines. - # - # To use CGI scripts: - # - #AddHandler cgi-script .cgi - - # - # To use server-parsed HTML files - # - AddType text/html .shtml - AddHandler server-parsed .shtml - - # - # Uncomment the following line to enable Apache's send-asis HTTP file - # feature - # - #AddHandler send-as-is asis - - # - # If you wish to use server-parsed imagemap files, use - # - AddHandler imap-file map - - # - # To enable type maps, you might want to use - # - #AddHandler type-map var - -</IfModule> -# End of document types. - -# -# Action lets you define media types that will execute a script whenever -# a matching file is called. This eliminates the need for repeated URL -# pathnames for oft-used CGI file processors. -# Format: Action media/type /cgi-script/location -# Format: Action handler-name /cgi-script/location -# - -# -# MetaDir: specifies the name of the directory in which Apache can find -# meta information files. These files contain additional HTTP headers -# to include when sending the document -# -#MetaDir .web - -# -# MetaSuffix: specifies the file name suffix for the file containing the -# meta information. -# -#MetaSuffix .meta - -# -# Customizable error response (Apache style) -# these come in three flavors -# -# 1) plain text -#ErrorDocument 500 "The server made a boo boo. -# n.b. the single leading (") marks it as text, it does not get output -# -# 2) local redirects -#ErrorDocument 404 /missing.html -# to redirect to local URL /missing.html -#ErrorDocument 404 /cgi-bin/missing_handler.pl -# N.B.: You can redirect to a script or a document using server-side-includes. -# -# 3) external redirects -#ErrorDocument 402 http://some.other_server.com/subscription_info.html -# N.B.: Many of the environment variables associated with the original -# request will *not* be available to such a script. - -# -# Customize behaviour based on the browser -# -<IfModule mod_setenvif.c> - - # - # The following directives modify normal HTTP response behavior. - # The first directive disables keepalive for Netscape 2.x and browsers that - # spoof it. There are known problems with these browser implementations. - # The second directive is for Microsoft Internet Explorer 4.0b2 - # which has a broken HTTP/1.1 implementation and does not properly - # support keepalive when it is used on 301 or 302 (redirect) responses. - # - BrowserMatch "Mozilla/2" nokeepalive - BrowserMatch "MSIE 4.0b2;" nokeepalive downgrade-1.0 force-response-1.0 - - # - # The following directive disables HTTP/1.1 responses to browsers which - # are in violation of the HTTP/1.0 spec by not being able to grok a - # basic 1.1 response. - # - BrowserMatch "RealPlayer 4.0" force-response-1.0 - BrowserMatch "Java/1.0" force-response-1.0 - BrowserMatch "JDK/1.0" force-response-1.0 - -</IfModule> -# End of browser customization directives - -# -# If the perl module is installed, this will allow execution of mod_perl -# to compile your scripts to subroutines which it will execute directly, -# avoiding the costly compile process for most requests. -# -#<IfModule mod_perl.c> -# Alias /perl /var/www/perl -# <Directory /var/www/perl> -# SetHandler perl-script -# PerlHandler Apache::Registry -# Options +ExecCGI -# </Directory> -#</IfModule> - -# -# Allow http put (such as Netscape Gold's publish feature) -# Use htpasswd to generate /etc/httpd/conf/passwd. -# -#<IfModule mod_put.c> -# Alias /upload /tmp -# <Directory /tmp> -# EnablePut On -# AuthType Basic -# AuthName Temporary -# AuthUserFile /etc/httpd/conf/passwd -# EnableDelete Off -# umask 007 -# <Limit PUT> -# require valid-user -# </Limit> -# </Directory> -#</IfModule> - -# -# Allow server status reports, with the URL of http://servername/server-status -# Change the ".your_domain.com" to match your domain to enable. -# -#<Location /server-status> -# SetHandler server-status -# Order deny,allow -# Deny from all -# Allow from .your_domain.com -#</Location> - -# -# Allow remote server configuration reports, with the URL of -# http://servername/server-info (requires that mod_info.c be loaded). -# Change the ".your_domain.com" to match your domain to enable. -# -#<Location /server-info> -# SetHandler server-info -# Order deny,allow -# Deny from all -# Allow from .your_domain.com -#</Location> - -# -# Allow access to local system documentation from localhost -# -Alias /doc/ /usr/share/doc/ -<Directory /usr/share/doc> - order deny,allow - deny from all - allow from localhost .localdomain - Options Indexes FollowSymLinks -</Directory> - -# -# There have been reports of people trying to abuse an old bug from pre-1.1 -# days. This bug involved a CGI script distributed as a part of Apache. -# By uncommenting these lines you can redirect these attacks to a logging -# script on phf.apache.org. Or, you can record them yourself, using the script -# support/phf_abuse_log.cgi. -# -#<Location /cgi-bin/phf*> -# Deny from all -# ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi -#</Location> - -# -# Proxy Server directives. Uncomment the following lines to -# enable the proxy server: -# -#<IfModule mod_proxy.c> -# ProxyRequests On - -# <Directory proxy:*> -# Order deny,allow -# Deny from all -# Allow from .your_domain.com -# </Directory> - - # - # Enable/disable the handling of HTTP/1.1 "Via:" headers. - # ("Full" adds the server version; "Block" removes all outgoing Via: headers) - # Set to one of: Off | On | Full | Block - # -# ProxyVia On - - # - # To enable the cache as well, edit and uncomment the following lines: - # (no caching without CacheRoot) - # -# CacheRoot "/var/cache/httpd" -# CacheSize 5 -# CacheGcInterval 4 -# CacheMaxExpire 24 -# CacheLastModifiedFactor 0.1 -# CacheDefaultExpire 1 -# NoCache a_domain.com another_domain.edu joes.garage_sale.com - -#</IfModule> -# End of proxy directives. - -### Section 3: Virtual Hosts -# -# VirtualHost: If you want to maintain multiple domains/hostnames on your -# machine you can setup VirtualHost containers for them. Most configurations -# use only name-based virtual hosts so the server doesn't need to worry about -# IP addresses. This is indicated by the asterisks in the directives below. -# -# Please see the documentation at URL:http://www.apache.org/docs/vhosts/ -# for further details before you try to setup virtual hosts. -# -# You may use the command line option '-S' to verify your virtual host -# configuration. - -# -# Use name-based virtual hosting. -# -#NameVirtualHost * - -# -# VirtualHost example: -# Almost any Apache directive may go into a VirtualHost container. -# The first VirtualHost section is used for requests without a known -# server name. -# -#<VirtualHost *> -# ServerAdmin webmaster@dummy-host.example.com -# DocumentRoot /www/docs/dummy-host.example.com -# ServerName dummy-host.example.com -# ErrorLog logs/dummy-host.example.com-error_log -# CustomLog logs/dummy-host.example.com-access_log common -#</VirtualHost> - -#<VirtualHost _default_:*> -#</VirtualHost> - -## -## SSL Global Context -## -## All SSL configuration in this context applies both to -## the main server and all SSL-enabled virtual hosts. -## - -# -# Some MIME-types for downloading Certificates and CRLs -# -<IfDefine HAVE_SSL> -AddType application/x-x509-ca-cert .crt -AddType application/x-pkcs7-crl .crl -</IfDefine> - -<IfModule mod_ssl.c> - -# Pass Phrase Dialog: -# Configure the pass phrase gathering process. -# The filtering dialog program (`builtin' is a internal -# terminal dialog) has to provide the pass phrase on stdout. -SSLPassPhraseDialog builtin - -# Inter-Process Session Cache: -# Configure the SSL Session Cache: First the mechanism -# to use and second the expiring timeout (in seconds). -#SSLSessionCache none -#SSLSessionCache shmht:logs/ssl_scache(512000) -SSLSessionCache shmcb:logs/ssl_scache(512000) -#SSLSessionCache shm:logs/ssl_scache(512000) -SSLSessionCacheTimeout 300 - -# Semaphore: -# Configure the path to the mutual exclusion semaphore the -# SSL engine uses internally for inter-process synchronization. -SSLMutex file:logs/ssl_mutex - -# Pseudo Random Number Generator (PRNG): -# Configure one or more sources to seed the PRNG of the -# SSL library. The seed data should be of good random quality. -# WARNING! On some platforms /dev/random blocks if not enough entropy -# is available. This means you then cannot use the /dev/random device -# because it would lead to very long connection times (as long as -# it requires to make more entropy available). But usually those -# platforms additionally provide a /dev/urandom device which doesn't -# block. So, if available, use this one instead. Read the mod_ssl User -# Manual for more details. -SSLRandomSeed startup builtin -SSLRandomSeed connect builtin -#SSLRandomSeed startup file:/dev/random 512 -#SSLRandomSeed startup file:/dev/urandom 512 -#SSLRandomSeed connect file:/dev/random 512 -#SSLRandomSeed connect file:/dev/urandom 512 - -# Logging: -# The home of the dedicated SSL protocol logfile. Errors are -# additionally duplicated in the general error log file. Put -# this somewhere where it cannot be used for symlink attacks on -# a real server (i.e. somewhere where only root can write). -# Log levels are (ascending order: higher ones include lower ones): -# none, error, warn, info, trace, debug. -SSLLog logs/ssl_engine_log -SSLLogLevel error - -</IfModule> - -<IfDefine HAVE_SSL> - -## -## SSL Virtual Host Context -## - -<VirtualHost _default_:443> - -# General setup for the virtual host -#DocumentRoot "/etc/httpd/htdocs" -#ServerName new.host.name -#ServerAdmin you@your.address -ErrorLog logs/error_log -TransferLog logs/access_log - -# SSL Engine Switch: -# Enable/Disable SSL for this virtual host. -SSLEngine on - -# SSL Cipher Suite: -# List the ciphers that the client is permitted to negotiate. -# See the mod_ssl documentation for a complete list. -#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL - -# Server Certificate: -# Point SSLCertificateFile at a PEM encoded certificate. If -# the certificate is encrypted, then you will be prompted for a -# pass phrase. Note that a kill -HUP will prompt again. A test -# certificate can be generated with `make certificate' under -# built time. Keep in mind that if you've both a RSA and a DSA -# certificate you can configure both in parallel (to also allow -# the use of DSA ciphers, etc.) -SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt -#SSLCertificateFile /etc/httpd/conf/ssl.crt/server-dsa.crt - -# Server Private Key: -# If the key is not combined with the certificate, use this -# directive to point at the key file. Keep in mind that if -# you've both a RSA and a DSA private key you can configure -# both in parallel (to also allow the use of DSA ciphers, etc.) -SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key -#SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server-dsa.key - -# Server Certificate Chain: -# Point SSLCertificateChainFile at a file containing the -# concatenation of PEM encoded CA certificates which form the -# certificate chain for the server certificate. Alternatively -# the referenced file can be the same as SSLCertificateFile -# when the CA certificates are directly appended to the server -# certificate for convinience. -#SSLCertificateChainFile /etc/httpd/conf/ssl.crt/ca.crt - -# Certificate Authority (CA): -# Set the CA certificate verification path where to find CA -# certificates for client authentication or alternatively one -# huge file containing all of them (file must be PEM encoded) -# Note: Inside SSLCACertificatePath you need hash symlinks -# to point to the certificate files. Use the provided -# Makefile to update the hash symlinks after changes. -#SSLCACertificatePath /etc/httpd/conf/ssl.crt -#SSLCACertificateFile /etc/httpd/conf/ssl.crt/ca-bundle.crt - -# Certificate Revocation Lists (CRL): -# Set the CA revocation path where to find CA CRLs for client -# authentication or alternatively one huge file containing all -# of them (file must be PEM encoded) -# Note: Inside SSLCARevocationPath you need hash symlinks -# to point to the certificate files. Use the provided -# Makefile to update the hash symlinks after changes. -#SSLCARevocationPath /etc/httpd/conf/ssl.crl -#SSLCARevocationFile /etc/httpd/conf/ssl.crl/ca-bundle.crl - -# Client Authentication (Type): -# Client certificate verification type and depth. Types are -# none, optional, require and optional_no_ca. Depth is a -# number which specifies how deeply to verify the certificate -# issuer chain before deciding the certificate is not valid. -#SSLVerifyClient require -#SSLVerifyDepth 10 - -# Access Control: -# With SSLRequire you can do per-directory access control based -# on arbitrary complex boolean expressions containing server -# variable checks and other lookup directives. The syntax is a -# mixture between C and Perl. See the mod_ssl documentation -# for more details. -#<Location /> -#SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \ -# and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ -# and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ -# and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \ -# and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \ -# or %{REMOTE_ADDR} =~ m/^192.76.162.[0-9]+$/ -#</Location> - -# SSL Engine Options: -# Set various options for the SSL engine. -# o FakeBasicAuth: -# Translate the client X.509 into a Basic Authorisation. This means that -# the standard Auth/DBMAuth methods can be used for access control. The -# user name is the `one line' version of the client's X.509 certificate. -# Note that no password is obtained from the user. Every entry in the user -# file needs this password: `xxj31ZMTZzkVA'. -# o ExportCertData: -# This exports two additional environment variables: SSL_CLIENT_CERT and -# SSL_SERVER_CERT. These contain the PEM-encoded certificates of the -# server (always existing) and the client (only existing when client -# authentication is used). This can be used to import the certificates -# into CGI scripts. -# o StdEnvVars: -# This exports the standard SSL/TLS related `SSL_*' environment variables. -# Per default this exportation is switched off for performance reasons, -# because the extraction step is an expensive operation and is usually -# useless for serving static content. So one usually enables the -# exportation for CGI and SSI requests only. -# o CompatEnvVars: -# This exports obsolete environment variables for backward compatibility -# to Apache-SSL 1.x, mod_ssl 2.0.x, Sioux 1.0 and Stronghold 2.x. Use this -# to provide compatibility to existing CGI scripts. -# o StrictRequire: -# This denies access when "SSLRequireSSL" or "SSLRequire" applied even -# under a "Satisfy any" situation, i.e. when it applies access is denied -# and no other module can change it. -# o OptRenegotiate: -# This enables optimized SSL connection renegotiation handling when SSL -# directives are used in per-directory context. -#SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire -<Files ~ ".(cgi|shtml|phtml|php3?)$"> - SSLOptions +StdEnvVars -</Files> -<Directory "/var/www/cgi-bin"> - SSLOptions +StdEnvVars -</Directory> - -# SSL Protocol Adjustments: -# The safe and default but still SSL/TLS standard compliant shutdown -# approach is that mod_ssl sends the close notify alert but doesn't wait for -# the close notify alert from client. When you need a different shutdown -# approach you can use one of the following variables: -# o ssl-unclean-shutdown: -# This forces an unclean shutdown when the connection is closed, i.e. no -# SSL close notify alert is send or allowed to received. This violates -# the SSL/TLS standard but is needed for some brain-dead browsers. Use -# this when you receive I/O errors because of the standard approach where -# mod_ssl sends the close notify alert. -# o ssl-accurate-shutdown: -# This forces an accurate shutdown when the connection is closed, i.e. a -# SSL close notify alert is send and mod_ssl waits for the close notify -# alert of the client. This is 100% SSL/TLS standard compliant, but in -# practice often causes hanging connections with brain-dead browsers. Use -# this only for browsers where you know that their SSL implementation -# works correctly. -# Notice: Most problems of broken clients are also related to the HTTP -# keep-alive facility, so you usually additionally want to disable -# keep-alive for those clients, too. Use variable "nokeepalive" for this. -# Similarly, one has to force some clients to use HTTP/1.0 to workaround -# their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and -# "force-response-1.0" for this. -SetEnvIf User-Agent ".*MSIE.*" \ - nokeepalive ssl-unclean-shutdown \ - downgrade-1.0 force-response-1.0 - -# Per-Server Logging: -# The home of a custom SSL log file. Use this when you want a -# compact non-error SSL logfile on a virtual host basis. -CustomLog logs/ssl_request_log \ - "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b" - -</VirtualHost> - -</IfDefine> - -Include conf/rhn_proxy.conf diff --git a/web/html/applications/rhn-proxy/3.6/httpd/rhn_proxy.conf b/web/html/applications/rhn-proxy/3.6/httpd/rhn_proxy.conf deleted file mode 100644 index fba9c9e..0000000 --- a/web/html/applications/rhn-proxy/3.6/httpd/rhn_proxy.conf +++ /dev/null @@ -1,46 +0,0 @@ -# ** DO NOT EDIT ** -# RHN Proxy handler configuration file - -# RHN Proxy Server location -<LocationMatch "/*"> - # this stanza contains all the handlers for RHN app code - - # added for oracle - SetEnv ORACLE_HOME /opt/oracle - SetEnv NLS_LANG english.UTF8 - - # mod_python - <IfModule !mod_python.c> - LoadModule python_module modules/mod_python.so - AddModule mod_python.c - </IfModule> - - PythonPath "sys.path+['/usr/share/rhn']" - PythonDebug Off - - # this one shall be common for all the python configlets - # (for pre-version 3.1 anyway) - PythonOption RootDir /usr/share/rhn - - SetHandler python-program - # all of these handlers are defined in apacheServer - PythonHeaderParserHandler proxy.apacheServer::HeaderParserHandler - PythonHandler proxy.apacheServer::Handler - PythonCleanupHandler proxy.apacheServer::CleanupHandler - DefaultType text/xml -</LocationMatch> - -# let apache do it's default thing for /pub/*, /index.html, and /_rhn_proxy -# /pub is where user accessible data resides -# /_rhn_proxy is for the landing page and anything additional we may want to -# expand to in the future -<LocationMatch "/pub/*"> - SetHandler None - DefaultType text/plain -</LocationMatch> - -<LocationMatch "/_rhn_proxy"> - SetHandler None - DefaultType text/plain -</LocationMatch> - diff --git a/web/html/applications/rhn-proxy/3.6/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/3.6/install-rhn-proxy.xml deleted file mode 100644 index 32c2aec..0000000 --- a/web/html/applications/rhn-proxy/3.6/install-rhn-proxy.xml +++ /dev/null @@ -1,557 +0,0 @@ -<?xml version="1.0"?> - -<application acl-mixins="RHN::Access::System"> - - <name>Satellite Proxy</name> - <label>rhn_proxy</label> - <version>3.6</version> - - <prerequisites> - <org-channel-family>rhn-proxy</org-channel-family> - <system-feature>ftr_proxy_capable</system-feature> - <package-available>rhns-proxy-management</package-available> - </prerequisites> - - <terms-and-conditions url="http://www.redhat.com/licenses" /> - - <install> - - <requirements> - <system-entitlement-possible>provisioning_entitled</system-entitlement-possible> - <package-available>rhns-proxy-management</package-available> - <client-capable>script.run</client-capable> - <client-capable>configfiles.deploy</client-capable> - </requirements> - - <collect-data description="Enable Monitoring Proxy" - acl="org_entitlement(rhn_monitor); package_available(rhns-proxy-monitoring); global_config(satellite); global_config(is_monitoring_backend)"> - - <header> -Would you like to enable Monitoring Proxy functionality on this system? - </header> - - <rhn-form name="Enable Monitoring" label="enable_monitoring"> - <widget type="checkbox" name="Enable Monitoring?" label="enable_monitoring" default="1"/> - </rhn-form> - </collect-data> - - <collect-data description="Configure ${app.name} Server"> - - <header> -<p> - Configure your ${app.name} Server below. The Administrator Email - Address is the address to which system status messages are sent. For - the ${app.name} Server to function properly, the ${app.name} Hostname - must be set to the system's fully qualified domain name. -</p> - -<p> - The Satellite Parent Server is the hostname of the server this Proxy - connects to. Depending on your configuration, it could be the - central Satellite Servers, your organization's Satellite Server, or - another ${app.name} Server. If this ${app.name} will be connecting - through an HTTP proxy, populate the related fields. -</p> - -<p> - If you choose to enable Secure Sockets Layer (SSL), this Satellite Proxy - will use SSL to connect to the Satellite Parent Server. Regardless of - whether you enable SSL for the connection to the Satellite Parent Server, - you will be prompted to generate an SSL certificate on the next page. - This SSL certificate will allow client systems to connect to this - ${app.name} securely. Refer to the RHN Proxy Installation Guide for - more information. -</p> -<p> - When using an HTTP Proxy Server, use the format "servername:port" to specify the server. For example: "proxy-server.corp.com:8888". -</p> - </header> - - <rhn-form name="Configure Proxy" label="configure_proxy"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - <widget type="text" name="Administrator Email Address" label="traceback_mail" size="40" default="${user.email}"> - <require valid-email="1" /> - </widget> - <widget type="text" name="${app.name} Hostname" label="hostname" size="40" default="${system.guess_hostname}"> - <require response="1"/> - <require fqdn="1"/> - <filter type="text" /> - </widget> - <widget type="text" name="Satellite Parent Server" label="rhn_parent" size="40" default="${system.guess_rhn_parent}"> - <require response="1"/> - <require fqdn="1"/> - <filter type="text" /> - </widget> - <widget type="text" name="HTTP Proxy Server" label="http_proxy" size="30"> - <filter type="text" /> - <require fqdn-and-port="1"/> - </widget> - <widget type="text" name="HTTP Proxy Username" label="http_proxy_username" size="10"> - <filter type="text" /> - </widget> - <widget type="text" name="HTTP Proxy Password" label="http_proxy_password" size="10"> - <filter type="text" /> - </widget> - <widget type="checkbox" name="Enable SSL?" label="enable_ssl" default="1" checked="1" - acl="global_config(ssl_available) or not global_config(satellite)"/> - <widget type="literal" label="SSL" default="SSL is not enabled on this Satellite." - acl="global_config(satellite); not global_config(ssl_available)"/> - <widget type="checkbox" name="Enable Push?" label="enable_osad" default="1" checked="1" - acl="global_config(satellite); global_config(ssl_available)"/> - </rhn-form> - - </collect-data> - - <collect-data description="Configure SSL" acl="global_config(ssl_available); global_config(satellite)"> - <header> - Enter your CA cert password and other SSL configuration - information here. This information will be used to generate - the server certificate used by the proxy server to communicate - via SSL. - </header> - - <rhn-form name="Configure SSL" label="configure_ssl"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - - <widget type="password" name="CA Cert Password" label="ca_cert_password" size="15"> - <require max-length="128"/> - <require response="1"/> - </widget> - - <widget type="text" name="Organization" label="org" size="24"> - <require max-length="128"/> - <require response="1"/> - </widget> - - <widget type="text" name="Organizational Unit" label="org-unit" size="24"> - <require max-length="128"/> - </widget> - - <widget type="text" name="Email Address" label="email" size="40" default="${session.traceback_mail}"> - <require max-length="128"/> - <require response="1"/> - </widget> - - <widget type="text" name="City" label="city" size="16"> - <require max-length="128"/> - <require response="1"/> - </widget> - - <widget type="text" name="State" label="state" size="16"> - <require max-length="128"/> - <require response="1"/> - </widget> - - <widget type="select" name="Country" label="country" size="1" default="US" populate_options="RHN::SatInstall->valid_cert_countries"> - <require response="1"/> - </widget> - - <widget type="text" name="Server cert Expiration (years)" label="cert-expiration" size="3" default="5"> - <require max-length="3"/> - <require response="1"/> - </widget> - - <widget type="hidden" label="use_ssl" default="1" /> - </rhn-form> - </collect-data> - - <collect-data description="Skip SSL Configuration" - acl="not global_config(ssl_available); global_config(satellite)"> - <header> - You do not have SSL enabled for your Satellite Server. - Therefore, SSL will not be available for this Satellite Proxy. SSL - is a critical part of the security model of Satellite. If you wish - to configure SSL at a later time, see the Satellite - Installation Guide. - </header> - - <rhn-form name="Configure SSL" label="configure_ssl"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - <widget type="hidden" label="ca_chain" default="/usr/share/rhn/RHNS-CA-CERT" /> - </rhn-form> - </collect-data> - - <collect-data description="Configure SSL" acl="not global_config(satellite)"> - <header> - In order to configure SSL on your ${app.name}, you will need - to generate a CA certificate and an SSL key pair. See the <a - href="/help/proxy/s1-quickstart-install-config.html">RHN Proxy - Installation Guide </a> for more details. After you have - generated the SSL key, you will need to upload the resulting - tar file containing the certificate files using the form - below. If the SSL CA certificate included in the tar file does - not already exist in your org's <a - href="/network/keys/key_list.pxt" target="_new">list of SSL - keys</a>, it will be added to that list. - </header> - - <rhn-form name="Configure SSL" label="configure_ssl"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - <widget type="file" name="SSL key files (tar)" label="ssl_key_tar"> - <require response="1"/> - </widget> - <widget type="hidden" label="use_ssl" default="1" /> - </rhn-form> - </collect-data> - - <activity description="Lookup Parent IP Address" - acl="session_data_true(enable_monitoring)"> - <method-call class="RHN::ProxyInstall" method="load_ip_address" /> - </activity> - - <collect-data description="Configure Satellite Monitoring Proxy" acl="session_data_true(enable_monitoring)"> - - <header> - Configure the Monitoring aspects of your ${app.name} below. - </header> - - <rhn-form name="Configure Monitoring Proxy" label="configure_monitoring_proxy"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - <widget type="text" name="Satellite Parent Server Hostname" label="rhn_monitoring_parent" size="40" default="${session.rhn_parent}"> - <require response="1"/> - <require fqdn="1"/> - <filter type="text" /> - </widget> - <widget type="text" name="Satellite Parent Server IP Address" label="rhn_monitoring_parent_ip" size="15" default="${session.rhn_parent_ip}"> - <require response="1"/> - <require valid-ip="1"/> - <filter type="text" /> - </widget> - <widget type="hidden" label="enable_monitoring_scout" default="1"/> - </rhn-form> - - </collect-data> - - <activity description="Provisioning entitle system"> - <set-system-entitlement>provisioning_entitled</set-system-entitlement> - </activity> - - <activity description="Create ${app.name} Config Channel for system"> - <create-config-channel> - <org-id>${user.org_id}</org-id> - <type>normal</type> - <name>${app.name} Config Channel for ${system.name}</name> - <label>rhn_proxy_config_${system.id}</label> - <description>This config channel is for the ${app.name} application running on ${system.name} (${system.id})</description> - </create-config-channel> - </activity> - - <activity description="Subscribe to ${app.name} Config Channel"> - <subscribe-system-to-config-channel channel-label="rhn_proxy_config_${system.id}" order="first"/> - </activity> - - <activity description="Import SSL server cert into Config Channel" - acl="not global_config(satellite)"> - <method-call class="RHN::ProxyInstall" method="import_ssl_cert"> - <target-config-channel>rhn_proxy_config_${system.id}</target-config-channel> - <cert-tar>${session.ssl_key_tar}</cert-tar> - </method-call> - </activity> - - <activity description="Generate SSL server cert" acl="global_config(ssl_available);global_config(satellite)"> - <method-call class="RHN::ProxyInstall" method="generate_ssl_cert"> - <hostname>${session.hostname}</hostname> - <ca-cert-password>${session.ca_cert_password}</ca-cert-password> - <org>${session.org}</org> - <org-unit>${session.org-unit}</org-unit> - <email>${session.email}</email> - <city>${session.city}</city> - <state>${session.state}</state> - <country>${session.country}</country> - <cert-expiration>${session.cert-expiration}</cert-expiration> - <target-config-channel>rhn_proxy_config_${system.id}</target-config-channel> - </method-call> - </activity> - - <activity description="Create SatCluster record for Satellite Monitoring Proxy" acl="session_data_true(enable_monitoring)"> - <method-call class="RHN::ProxyInstall" method="create_sat_cluster_record"> - <customer-id>${user.org_id}</customer-id> - <description>${app.name} ${system.name} (${system.id})</description> - <last-update-user>installer</last-update-user> - </method-call> - </activity> - - <activity description="Generate /etc/rhn/rhn.conf config file"> - <generate-config-file target-config-channel="rhn_proxy_config_${system.id}" path="/etc/rhn/rhn.conf" - template="rhn.conf" mode="640" username="root" groupname="apache"/> - </activity> - - <activity description="Generate /etc/rhn/cluster.ini config file" acl="session_data_true(enable_monitoring)"> - <generate-config-file target-config-channel="rhn_proxy_config_${system.id}" path="/etc/rhn/cluster.ini" - template="cluster.ini" mode="644" username="root" groupname="root"/> - </activity> - - <activity description="Generate /etc/squid/squid.conf config file"> - <generate-config-file target-config-channel="rhn_proxy_config_${system.id}" path="/etc/squid/squid.conf" - template="squid.conf" mode="755"/> - </activity> - - <activity description="Generate /etc/httpd/conf/httpd.conf config file"> - <generate-config-file target-config-channel="rhn_proxy_config_${system.id}" path="/etc/httpd/conf/httpd.conf" - template="httpd/httpd.conf" mode="444"/> - </activity> - - <activity description="Generate /etc/httpd/conf/rhn_proxy.conf config file"> - <generate-config-file target-config-channel="rhn_proxy_config_${system.id}" path="/etc/httpd/conf/rhn_proxy.conf" - template="httpd/rhn_proxy.conf" mode="640" username="root" groupname="apache"/> - </activity> - - <activity description="Generate /etc/jabberd/c2s.xml config file" - acl="global_config(ssl_available);session_data_true(enable_osad)"> - <generate-config-file target-config-channel="rhn_proxy_config_${system.id}" path="/etc/jabberd/c2s.xml" - template="jabberd/c2s.xml" mode="644" username="root" groupname="root"/> - </activity> - - <activity description="Generate /etc/jabberd/sm.xml config file" - acl="global_config(ssl_available);session_data_true(enable_osad)"> - <generate-config-file target-config-channel="rhn_proxy_config_${system.id}" path="/etc/jabberd/sm.xml" - template="jabberd/sm.xml" mode="644" username="root" groupname="root"/> - </activity> - - <activity description="Activate the ${app.name}"> - <method-call class="RHN::ProxyInstall" method="activate_proxy"> - <version>${app.version}</version> - </method-call> - </activity> - - <schedule-actions description="Schedule ${app.name} install"> - <remove-packages> - <rpm>python-xmlrpc</rpm> - </remove-packages> - - <install-packages> - <rpm>rhns-proxy-management</rpm> - <rpm acl="session_data_true(enable_monitoring)">rhns-proxy-monitoring</rpm> - </install-packages> - - <deploy-configs> - <action-name>Deploy Configuration</action-name> - <configfile>/etc/rhn/rhn.conf</configfile> - <configfile acl="session_data_true(enable_monitoring)">/etc/rhn/cluster.ini</configfile> - <configfile>/etc/squid/squid.conf</configfile> - <configfile>/etc/httpd/conf/httpd.conf</configfile> - <configfile>/etc/httpd/conf/rhn_proxy.conf</configfile> - <configfile acl="global_config(ssl_available) or not global_config(satellite)">/etc/httpd/conf/ssl.crt/server.crt</configfile> - <configfile acl="global_config(ssl_available) or not global_config(satellite)">/etc/httpd/conf/ssl.csr/server.csr</configfile> - <configfile acl="global_config(ssl_available) or not global_config(satellite)">/etc/httpd/conf/ssl.key/server.key</configfile> - <configfile acl="session_data_true(org_ssl_cert)">/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT</configfile> - <configfile acl="global_config(ssl_available) or not global_config(satellite)">/var/www/html/pub/RHN-ORG-TRUSTED-SSL-CERT</configfile> - <configfile acl="session_data_true(ca_rpm)">${session.ca_rpm}</configfile> - <configfile acl="global_config(ssl_available);session_data_true(enable_osad)">/etc/jabberd/server.pem</configfile> - <configfile acl="global_config(ssl_available);session_data_true(enable_osad)">/etc/jabberd/c2s.xml</configfile> - <configfile acl="global_config(ssl_available);session_data_true(enable_osad)">/etc/jabberd/sm.xml</configfile> - </deploy-configs> - - <run-script acl="session_data_true(enable_monitoring)"> - <action-name>Enable Monitoring Services</action-name> - <script> -#!/bin/sh - -/etc/rc.d/np.d/step MonitoringScout install - </script> - </run-script> - - <run-script> - <action-name>Allow Proxy service to read Satellite Configuration</action-name> - <script> -#!/bin/sh -chown root.apache /etc/sysconfig/rhn/systemid -chmod 640 /etc/sysconfig/rhn/systemid - </script> - </run-script> - - <restart-services> - <action-name>Start ${app.name}</action-name> - <service>rhn-proxy</service> - </restart-services> - </schedule-actions> - - <redirect save-session="1">/network/systems/details/proxy/install_progress.pxt?sid=${system.id}&version=${app.version}</redirect> - - </install> - - <install-progress acl="action_pending_named(Start Satellite Proxy) or last_action_attempt_failed(Start Satellite Proxy)"> - - <action-status description="Install progress"> - <header> -You are installing ${app.name} on this system. Below is the list of actions for this installation. - </header> - - <inprogress> - Once these actions are complete, your ${app.name} should be available for use. - </inprogress> - - <complete> - The installation is complete. - </complete> - - <failed> - The installation has failed. Click on the failed action for - more details, resolve the error that prevented installation, - and -<a href="/network/systems/details/proxy/index.pxt?sid=${system.id}&version=${app.version}">try your installation again</a>. - Or, you can -<a href="/network/systems/details/proxy.pxt?sid=${system.id}&pxt_trap=rhn:cancel_scheduled_proxy_install_cb">cancel this installation process</a>. - </failed> - - <target-action name="Start ${app.name}" show-chain="1"/> - </action-status> - - </install-progress> - - <configure> - <activity description="Create ${app.name} Config Channel for system if does not already exist"> - <create-config-channel> - <org-id>${user.org_id}</org-id> - <type>normal</type> - <name>${app.name} Config Channel for ${system.name}</name> - <label>rhn_proxy_config_${system.id}</label> - <description>This config channel is for the ${app.name} application running on ${system.name} (${system.id})</description> - </create-config-channel> - </activity> - - <activity description="Subscribe to ${app.name} Config Channel"> - <subscribe-system-to-config-channel channel-label="rhn_proxy_config_${system.id}" order="first"/> - </activity> - - <activity description="Generate /etc/rhn/rhn.conf config file"> - <generate-config-file target-config-channel="rhn_proxy_config_${system.id}" path="/etc/rhn/rhn.conf" - template="rhn.conf" mode="640" username="root" groupname="apache" new_only="1"/> - </activity> - - - <activity description="Load current configuration"> - <method-call class="RHN::ProxyInstall" method="load_configfile_into_session"> - <target-config-channel>rhn_proxy_config_${system.id}</target-config-channel> - <target-config-file>/etc/rhn/rhn.conf</target-config-file> - </method-call> - </activity> - - <collect-data description="Configure ${app.name}"> - - <header> -<p> -Configure your ${app.name} below. The Administrator Email Address is -the address to which system status e-mail will be sent. Please note -that if you have modified the configuration locally on the proxy -without importing those changes into the Proxy Config Channel for this -system, this action will overwrite those changes. -</p> -<p> -Also, configuration changes here will not update the configuration for -the up2date client. Only the ${app.name} application will be -configured. For instance, if you want this system to connect through -an HTTP proxy, you will need to configure the ${app.name} software -here, and configure the up2date client separately. -</p> -<p> - When using an HTTP Proxy Server, use the format "servername:port" to specify the server. For example: "proxy-server.corp.com:8888". -</p> - </header> - - <rhn-form name="Configure Proxy" label="configure_proxy"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - <widget type="text" name="Administrator Email Address" label="traceback_mail" size="40" default="${session.traceback_mail}"> - <require valid-email="1" /> - </widget> - <widget type="text" name="HTTP Proxy Server" label="proxy.http_proxy" size="30" default="${session.proxy.http_proxy}"> - <filter type="text" /> - </widget> - <widget type="text" name="HTTP Proxy Username" label="proxy.http_proxy_username" size="10" default="${session.proxy.http_proxy_username}"> - <filter type="text" /> - </widget> - <widget type="text" name="HTTP Proxy Password" label="proxy.http_proxy_password" size="10" default="${session.proxy.http_proxy_password}"> - <filter type="text" /> - </widget> - </rhn-form> - - </collect-data> - - <activity description="Update ${app.name} Configuration"> - <method-call class="RHN::ProxyInstall" method="update_configfile_from_session"> - <target-config-channel>rhn_proxy_config_${system.id}</target-config-channel> - <target-config-file>/etc/rhn/rhn.conf</target-config-file> - </method-call> - </activity> - - <schedule-actions description="Schedule ${app.name} install"> - - <deploy-configs> - <configfile>/etc/rhn/rhn.conf</configfile> - </deploy-configs> - - <restart-services> - <action-name>Start ${app.name}</action-name> - <service>rhn-proxy</service> - </restart-services> - - </schedule-actions> - - <collect-data description="Configuration update scheduled" no-cancel="1"> - <header> -Reconfiguration actions for ${app.name} ${app.version} have been scheduled. - </header> - - <rhn-form name="Installation Complete" label="install_complete"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - <widget type="hidden" label="continue_redir" default="/rhn/systems/details/Overview.do" /> - </rhn-form> - - </collect-data> - - </configure> - - <remove> - - <collect-data description="Deactivate ${app.name}"> - - <header> -You can deactivate your ${app.name}. The ${app.name} services on the system -will be stopped, and it will not show up as a Proxy in the Satellite web -interface. The packages set and configuration of the system will not -otherwise be affected. Systems that connect to Satellite through this -proxy will need to be reconfigured to use a different Satellite server. - </header> - - <rhn-form name="Deactivate Proxy" label="deactivate_proxy"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - </rhn-form> - - </collect-data> - - <activity description="Deactivate ${app.name} in local configuration"> - <method-call class="RHN::ProxyInstall" method="deactivate_proxy"/> - </activity> - - <schedule-actions description="Deactivate ${app.name}"> - - <stop-services> - <action-name>Stop ${app.name} Services</action-name> - <service>rhn-proxy</service> - </stop-services> - - </schedule-actions> - - <collect-data description="Proxy deactivation scheduled" no-cancel="1"> - <header> -A deactivation for ${app.name} ${app.version} on ${system.name} has been scheduled. - </header> - - <rhn-form name="Deactivation Complete" label="deactivation_complete"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - <widget type="hidden" label="continue_redir" default="/rhn/systems/details/Overview.do" /> - </rhn-form> - </collect-data> - - </remove> - -</application> diff --git a/web/html/applications/rhn-proxy/3.6/jabberd/c2s.xml b/web/html/applications/rhn-proxy/3.6/jabberd/c2s.xml deleted file mode 100644 index c070324..0000000 --- a/web/html/applications/rhn-proxy/3.6/jabberd/c2s.xml +++ /dev/null @@ -1,347 +0,0 @@ -<!-- c2s configuration --> -<c2s> - <!-- Our ID on the network (default: c2s) --> - <id>c2s</id> - - <!-- The process ID file. comment this out if you don't need to know - to know the process ID from outside the process (eg for control - scripts) --> - <pidfile>/var/run/jabberd-c2s.pid</pidfile> - - <!-- Router connection configuration --> - <router> - <!-- IP/port the router is waiting for connections on --> - <ip>127.0.0.1</ip> <!-- default: 127.0.0.1 --> - <port>5347</port> <!-- default: 5347 --> - - <!-- Username/password to authenticate as --> - <user>jabberd</user> <!-- default: jabberd --> - <pass>secret</pass> <!-- default: secret --> - - <!-- File containing a SSL certificate and private key to use when - setting up an encrypted channel with the router. If this is - commented out, or the file can't be read, no attempt will be - made to establish an encrypted channel with the router. --> - - <pemfile>/etc/jabberd/server.pem</pemfile> - - <!-- Router connection retry --> - <retry> - <!-- If the connection to the router can't be established at - startup, we should try again this many times before exiting. - Use -1 to retry indefinitely. [default: 3] --> - <init>3</init> - - <!-- If we lost the connection to the router during normal - operation (ie we've successfully connected to the router in - the past), we should try to reconnect this many times before - exiting. Use -1 to retry indefinitely. [default: 3] --> - <lost>3</lost> - - <!-- Sleep for this many seconds before trying attempting a - reconnect. [default: 2] --> - <sleep>2</sleep> - </retry> - </router> - - <!-- Log configuration - type is "syslog", "file" or "stdout" --> - <log type='syslog'> - <!-- If logging to syslog, this is the log ident --> - <ident>jabberd/c2s</ident> - - <!-- If logging to syslog, this is the log facility - (local0 - local7) [default: local3] --> - <facility>local3</facility> - - <!-- If logging to file, this is the filename of the logfile --> - <!-- - <file>/var/log/jabberd/c2s.log</file> - --> - </log> - - <!-- Local network configuration --> - <local> - <!-- Who we identify ourselves as. This should correspond to the - ID (host) that the session manager thinks it is. You can - specify more than one to support virtual hosts, as long as you - have additional session manager instances on the network to - handle those hosts. The realm attribute specifies the auth/reg - or SASL authentication realm for the host. If the attribute is - not specified, the realm will be selected by the SASL - mechanism, or will be the same as the ID itself. Be aware that - users are assigned to a realm, not a host, so two hosts in the - same realm will have the same users. - If no realm is specified, it will be set to be the same as the - ID. --> - <id>${session.hostname}</id> - <!-- <id realm='company'>localhost</id> --> - - <!-- IP address to bind to (default: 0.0.0.0) --> - <ip>0.0.0.0</ip> - - <!-- Port to bind to, or 0 to disable unencrypted access to the - server (default: 5222) --> - <port>5222</port> - - <!-- File containing a SSL certificate and private key for client - connections. If this is commented out, clients will not be - offered the STARTTLS stream extension --> - <pemfile>/etc/jabberd/server.pem</pemfile> - - <!-- Require STARTTLS. If this is enabled, clients must do STARTTLS - before they can authenticate. Until the stream is encrypted, - all packets will be dropped. --> - <!-- - <require-starttls/> - --> - - <!-- Older versions of jabberd support encrypted client connections - via an additional listening socket on port 5223. If you want - this (required to allow pre-STARTTLS clients to do SSL), - uncomment this --> - <!-- - <ssl-port>5223</ssl-port> - --> - </local> - - <!-- Input/output settings --> - <io> - <!-- Maximum number of file descriptors. Note that the number of - possible connections will be slightly less than this, because - c2s itself can use up five on its own, and auth/reg modules may - need a few also. If the supply of file descriptors is - exhausted, new incoming connections will be denied. - (default: 1024) --> - <max_fds>1024</max_fds> - - <!-- Rate limiting --> - <limits> - <!-- Maximum bytes per second - if more than X bytes are sent in Y - seconds, connection is throttled for Z seconds. The format - is: - - <bytes seconds='Y' throttle='Z'>X</bytes> - - Default Y is 1, default Z is 5. set X to 0 to disable. --> - <bytes>0</bytes> - - <!-- Maximum connects per second - if more than X connects are - attempted from a single IP in Y seconds, that IP is throttled - for Z seconds. The format is: - - <connects seconds='Y' throttle='Z'>X</connects> - - Default Y is 5, default Z is 5. set X to 0 to disable. --> - <connects>0</connects> - </limits> - - <!-- IP-based access controls. If a connection IP matches an allow - rule, the connection will be accepted. If a connecting IP - matches a deny rule, the connection will be refused. If the - connecting IP does not match any rules, or it matches both an - allow and a deny rule, the contents of the <order/> option - determines what happens. --> - <access> - <!-- Rule check order (default: allow,deny) - - allow,deny - Check allow rules, then check deny rules. - Allow by default. - deny,allow - Check deny rules, then check allow rules. - Deny by default. --> - <order>allow,deny</order> - - <!-- Allow a network. If the mask isn't specified, it defaults to - 255.255.255.255 (ie allow onle the specified IP) --> - <!-- - <allow ip='127.0.0.0' mask='255.0.0.0'/> - --> - - <!-- Allow a single host --> - <!-- - <allow ip='12.34.56.78'/> - --> - - <!-- Deny a network or a host --> - <!-- - <deny ip='127.0.0.1' mask='255.0.0.0'/> - <deny ip='87.65.43.21'/> - --> - </access> - - <!-- Timed checks --> - <check> - <!-- Interval between checks. - - Open client connections will be checked every n seconds, and - the following checks applied. - - 0 disables all checks. (default: 0) --> - <interval>0</interval> - - <!-- Idle connection checks. - - Connections that have not sent data for longer than this many - seconds will be dropped. - - 0 disables idle timeouts. (default: 0) --> - <idle>0</idle> - - <!-- Keepalives. - - Connections that have not sent data for longer than this many - seconds will have a single whitespace character sent to them. - This will force the TCP connection to be closed if they have - disconnected without us knowing about it. - - 0 disables keepalives. (default: 0) --> - <keepalive>0</keepalive> - - </check> - - </io> - - <!-- Authentication/registration database configuration --> - <authreg> - <!-- Backend module to use --> - <module>db</module> - - <!-- Registration configuration --> - <register> - <!-- Account registration is enabled by default (provided the - auth/reg module in use supports it). Comment this out to - disable. --> - <enable/> - - <!-- Human-readable instructions to be returned to client when - registration is requested. --> - <instructions>Enter a username and password to register with this server.</instructions> - - <!-- Password change only. When registration is disabled, it may - still be useful to allow clients to change their password. If - you want this, uncomment this when you disable registration. --> - <!-- - <password/> - --> - </register> - - <!-- Available authentication mechanisms --> - <mechanisms> - - <!-- These are the traditional Jabber authentication mechanisms. - Comment out any that you don't want to be offered to clients. - Note that if the auth/reg module does not support one of - these mechanisms, then it will not be offered regardless of - whether or not it is enabled here. - - Similarly, if <zerok/> is disabled, then zero-knowledge data - will not be created when a user is registered. --> - <traditional> - <plain/> - <digest/> - <zerok/> - </traditional> - - <!-- SASL authentication mechanisms. Comment out any that you - don't want to be offered to clients. Again, if the auth/reg - module does not support one of these mechanisms, then it will - not be offered. --> - <sasl> - <plain/> - <digest-md5/> - <!-- - <anonymous/> - --> - </sasl> - - </mechanisms> - - <!-- MySQL module configuration --> - <mysql> - <!-- Database server host and port --> - <host>localhost</host> - <port>3306</port> - - <!-- Database name --> - <dbname>jabberd2</dbname> - - <!-- Database username and password --> - <user>jabberd2</user> - <pass>secret</pass> - </mysql> - - <!-- PostgreSQL module configuration --> - <pgsql> - <!-- Database server host and port --> - <host>localhost</host> - <port>5432</port> - - <!-- Database name --> - <dbname>jabberd2</dbname> - - <!-- Database username and password --> - <user>jabberd2</user> - <pass>secret</pass> - </pgsql> - - <!-- Berkeley DB module configuration --> - <db> - <!-- Directory to store database files under --> - <path>/var/lib/jabberd</path> - - <!-- Synchronize the database to disk after each write. If you - disable this, database accesses may be faster, but data may - be lost if jabberd crashes. --> - <sync/> - </db> - - <!-- LDAP module configuration --> - <ldap> - <!-- LDAP server host and port (default: 389) --> - <host>ldap.example.com</host> - <port>389</port> - - <!-- Use LDAP v3 if possible. If disabled, v2 will be used. - Encryption options are only available if v3 is enabled. --> - <!-- - <v3/> - --> - - <!-- Encryption. If enabled, this will create an encrypted channel - to the LDAP server using the LDAP STARTTLS mechanism. --> - <!-- - <starttls/> - --> - - <!-- Encryption. If enabled, this will create an encrypted channel - to the server using the old-style "ldaps://" mechanism. It is - recommended that you use <starttls/> instead of this. --> - <!-- - <ssl/> - --> - - <!-- DN to bind as for searches. If unspecified, the searches - will be done anonymously. --> - <!-- - <binddn>cn=Directory Manager</binddn> - <bindpw>secret</bindpw> - --> - - <!-- LDAP attribute that holds the user ID (default: uid) --> - <uidattr>uid</uidattr> - - <!-- base DN of the tree. You should specify a DN for each - authentication realm declared in the <local/> section above, - by using the realm attribute. --> - <basedn realm='company'>o=Company.com</basedn> - <basedn>o=Example Corp.</basedn> - </ldap> - - <!-- Pipe module configuration --> - <pipe> - <!-- Program to execute --> - <exec>/usr/bin/pipe-auth.pl</exec> - </pipe> - - </authreg> - -</c2s> diff --git a/web/html/applications/rhn-proxy/3.6/jabberd/sm.xml b/web/html/applications/rhn-proxy/3.6/jabberd/sm.xml deleted file mode 100644 index 44fa67b..0000000 --- a/web/html/applications/rhn-proxy/3.6/jabberd/sm.xml +++ /dev/null @@ -1,379 +0,0 @@ -<!-- Session manager configuration --> -<sm> - <!-- Our ID on the network. Users will have this as the domain part of - their JID. If you want your server to be accessible from other - Jabber servers, this ID must be resolvable by DNS.s - (default: localhost) --> - <id>${session.hostname}</id> - - <!-- The process ID file. comment this out if you don't need to know - to know the process ID from outside the process (eg for control - scripts) --> - <pidfile>/var/run/jabberd-sm.pid</pidfile> - - <!-- Router connection configuration --> - <router> - <!-- IP/port the router is waiting for connections on --> - <ip>127.0.0.1</ip> <!-- default: 127.0.0.1 --> - <port>5347</port> <!-- default: 5347 --> - - <!-- Username/password to authenticate as --> - <user>jabberd</user> <!-- default: jabberd --> - <pass>secret</pass> <!-- default: secret --> - - <!-- File containing a SSL certificate and private key to use when - setting up an encrypted channel with the router. If this is - commented out, or the file can't be read, no attempt will be - made to establish an encrypted channel with the router. --> - <!-- - <pemfile>/etc/jabberd/server.pem</pemfile> - --> - <!-- Router connection retry --> - <retry> - <!-- If the connection to the router can't be established at - startup, we should try again this many times before exiting. - Use -1 to retry indefinitely. [default: 3] --> - <init>3</init> - - <!-- If we lost the connection to the router during normal - operation (ie we've successfully connected to the router in - the past), we should try to reconnect this many times before - exiting. Use -1 to retry indefinitely. [default: 3] --> - <lost>3</lost> - - <!-- Sleep for this many seconds before trying attempting a - reconnect. [default: 2] --> - <sleep>2</sleep> - </retry> - </router> - - <!-- Log configuration - type is "syslog", "file" or "stdout" --> - <log type='syslog'> - <!-- If logging to syslog, this is the log ident --> - <ident>jabberd/sm</ident> - - <!-- If logging to syslog, this is the log facility - (local0 - local7) [default: local3] --> - <facility>local3</facility> - - <!-- If logging to file, this is the filename of the logfile --> - <!-- - <file>/var/log/jabberd/sm.log</file> - --> - </log> - - <!-- Storage database configuration --> - <storage> - <!-- By default, we use the MySQL driver for all storage --> - <driver>db</driver> - - <!-- Its also possible to explicitly list alternate drivers for - specific data types. --> - <!-- Store vcards in a PostgreSQL database instead --> - <!-- - <driver type='vcard'>pgsql</driver> - --> - - <!-- MySQL driver configuration --> - <mysql> - <!-- Database server host and port --> - <host>localhost</host> - <port>3306</port> - - <!-- Database name --> - <dbname>jabberd2</dbname> - - <!-- Database username and password --> - <user>jabberd2</user> - <pass>secret</pass> - - <!-- Transacation support. If this is commented out, transactions - will be disabled. This might make database accesses faster, - but data may be lost if jabberd crashes. - - This will need to be disabled if you are using a MySQL - earlier than v3.23.xx, as transaction support did not appear - until this version. --> - <transactions/> - </mysql> - - <!-- PostgreSQL driver configuration --> - <pgsql> - <!-- Database server host and port --> - <host>localhost</host> - <port>5432</port> - - <!-- Database name --> - <dbname>jabberd2</dbname> - - <!-- Database username and password --> - <user>jabberd2</user> - <pass>secret</pass> - - <!-- Transacation support. If this is commented out, transactions - will be disabled. This might make database accesses faster, - but data may be lost if jabberd crashes. --> - <transactions/> - </pgsql> - - <!-- Berkeley DB driver configuration --> - <db> - <!-- Directory to store database files under --> - <path>/var/lib/jabberd</path> - - <!-- Synchronize the database to disk after each write. If you - disable this, database accesses may be faster, but data may - be lost if jabberd crashes. --> - <sync/> - </db> - </storage> - - <!-- Access control information --> - <aci> - <!-- The JIDs listed here will get access to all restricted - functions, regardless of restrictions further down --> - <acl type='all'> - <jid>admin@localhost</jid> - </acl> - - <!-- These JIDs can send broadcast messages (announce, motd) --> - <!-- - <acl type='broadcast'> - <jid>nocstaff1@localhost</jid> - <jid>nocstaff2@localhost</jid> - </acl> - --> - - <!-- These JIDs will receive messages addressed to the sm itself - (help requestes and such) --> - <!-- - <acl type='messages'> - <jid>support@localhost</jid> - </acl> - --> - - <!-- These JIDs can discover active user/session information --> - <!-- - <acl type='disco'> - <jid>webstatus@localhost</jid> - </acl> - --> - </aci> - - <!-- Module chain configuration - - Modules listed in a chain are called in the order specified at - the appropriate time for that chain (assuming that the module - knows how to work with that chain; otherwise it simply ignores - it). - - Removing a module from these lists will stop the module being - called, even if its compiled into the server. - - Serveral modules have a presence in more than one chain. It is - possible to remove a module from one chain but not others, but - this may cause strange behaviour. Make sure you know what you're - doing. --> - <modules> - - <!-- sess-start. The modules in this chain are called when a session - is first started (usually on request by c2s as part of the - authentication process). This is normally used to load - per-session data. --> - <chain id='sess-start'/> - - <!-- sess-end. The modules in this chain are called just before a - session is destroyed (after the client has disconnected). --> - <chain id='sess-end'> - <module>iq-last</module> <!-- update logout time --> - </chain> - - <!-- in-sess. The modules in this chain are called when a packet - arrives from an active user session. Note that this chain is - also responsible for delivering packets to their destinations - - this is usually handled by the "deliver" module. --> - <chain id='in-sess'> - <module>validate</module> <!-- validate packet type --> - <module>privacy</module> <!-- manage privacy lists --> - <module>roster</module> <!-- handle roster get/sets and s10ns --> - <module>vacation</module> <!-- manage vacation settings --> - <module>iq-vcard</module> <!-- store and retrieve the user's vcard --> - <module>iq-private</module> <!-- manage the user's private data store --> - <module>disco</module> <!-- respond to agents requests from sessions --> - <module>offline</module> <!-- if we're coming online for the first time, deliver queued messages --> - <module>announce</module> <!-- deliver motd --> - <module>presence</module> <!-- process and distribute presence updates --> - <module>deliver</module> <!-- deliver packets with full jids directly --> - </chain> - - <!-- out-sess. The modules in this chain are called just before a - packet is delivered to an active user session. --> - <chain id='out-sess'/> - - <!-- in-router. The modules in this chain are called when a packet - arrives from the router (ie another component or s2s), but - before any processing is done. This is a good place to filter - incoming packets. --> - <chain id='in-router'> - <module>session</module> <!-- perform session actions as required by c2s --> - <module>validate</module> <!-- validate packet type --> - <module>presence</module> <!-- drop incoming presence if user not online --> - <module>privacy</module> <!-- filter incoming packets based on privacy rules --> - </chain> - - <!-- out-router. The modules in this chain are called just before a - packet is delivered to the router (destined for another - component or s2s). This is a good place to filter outgoing - packets. --> - <chain id='out-router'> - <module>privacy</module> <!-- filter outgoing packets based on privacy rules --> - </chain> - - <!-- pkt-sm. The modules in this chain are called when a packet - arrives that is addressed to the session manager itself (ie the - to JID has no node part). This is normally used to provide - session-manager-wide services (like service discovery). --> - <chain id='pkt-sm'> - <module>iq-last</module> <!-- return the server uptime --> - <module>iq-time</module> <!-- return the current server time --> - <module>iq-version</module> <!-- return the server name and version --> - <module>disco</module> <!-- build the disco list; respond to disco queries --> - <module>announce</module> <!-- send broadcast messages (announce, motd, etc) --> - <module>help</module> <!-- resend sm messages to administrators --> - <module>echo</module> <!-- echo messages sent to /echo --> - </chain> - - <!-- pkt-user. The modules in this chain are called when a packet - arrives that is address to a specific user. Note that this - chain is also responsible for delivering packets to user - sessions as appropriate - this is usually handled by the - "deliver" module. --> - <chain id='pkt-user'> - <module>roster</module> <!-- handle s10n responses --> - <module>presence</module> <!-- process and distribute incoming presence from external entities --> - <module>iq-vcard</module> <!-- grab user vcards --> - <module>deliver</module> <!-- deliver the packet to an active session if we can --> - <module>vacation</module> <!-- send vacation messages --> - <module>offline</module> <!-- save messages and s10ns for later --> - <module>disco-publish</module> <!-- handle disco publishes; return information about user sessions --> - <module>iq-last</module> <!-- return time since last logout --> - </chain> - - <!-- pkt-router. The modules in this chain are called when a - special-purpose packet arrives from the router (eg domain - advertisements). --> - <chain id='pkt-router'> - <module>session</module> <!-- take sessions offline their c2s disappears --> - <module>disco</module> <!-- query new components for service information --> - </chain> - - <!-- user-load. The modules in this chain are called to load - per-user data. This will happen before a user can be used (ie - before a session is created). --> - <chain id='user-load'> - <module>active</module> <!-- get active status --> - <module>roster</module> <!-- load the roster and trust list --> - <module>privacy</module> <!-- load privacy lists --> - <module>disco-publish</module> <!-- load published information --> - <module>vacation</module> <!-- load vacation settings --> - </chain> - - <!-- user-create. The modules in this chain are called when a user - creation request is received (usually from c2s as part of a - registration request). This initialises any per-user data. --> - <chain id='user-create'> - <module>active</module> <!-- activate new users --> - <module>template-roster</module> <!-- populate roster from template --> - </chain> - - <!-- user-delete. The modules in this chain are called when a user - deletion request is received (usually from c2s as part of a - registration removal request). This deletes all data that may - have been previously created for the user during normal - operation. --> - <chain id='user-delete'> - <module>active</module> <!-- deactivate users --> - <module>announce</module> <!-- delete motd data --> - <module>disco-publish</module> <!-- delete published information --> - <module>offline</module> <!-- bounce queued messages --> - <module>privacy</module> <!-- delete privacy lists --> - <module>roster</module> <!-- delete roster --> - <module>vacation</module> <!-- delete vacation settings --> - <module>iq-last</module> <!-- delete last logout time --> - <module>iq-private</module> <!-- delete private data --> - <module>iq-vcard</module> <!-- delete vcard --> - </chain> - - </modules> - - <!-- Service discovery configuration --> - <discovery> - - <!-- Service identity. these specify the category, type and name of - this service that will be included in discovery information - responses. --> - <identity> - <category>server</category> <!-- default: server --> - <type>im</type> <!-- default: im --> - <name>Jabber IM server</name> <!-- default: Jabber IM server --> - </identity> - - <!-- The discovery module can respond to jabber:iq:agents queries - for compatibility with older clients. Comment this out to - disable this. --> - <agents/> - - <!-- Static service list. - - The discover module can discover disco-capable services - automatically as they come online. Most legacy services, - however, will not support discovery. In order to get them to - appear in disco/agents lists returned to the client, they - should be listed here. - - Note that if a disco-capable service with the same name as one - listed below comes online, the information it provides will - override the information listed below. - - The "category" and "type" attributes, and the list of supported - namespaces are only used for agents compatibility. If you have - disabled this above, you may omit them. --> - <items> - - <!-- example entry for a user directory --> - <!-- - <item category='service' type='jud' jid='users.jabber.org' name='Jabber User Directory'/> - --> - - <!-- example entry for a groupchat (conference) service --> - <!-- - <item category='conference' type='public' jid='conference.jabber.org' name='Text conferencing'/> - --> - - </items> - - </discovery> - - <!-- User options --> - <user> - <!-- By default, users must explicitly created before they can start - a session. The creation process is usually triggered by a c2s - component in response to a client registering a new user. - - Enableing this option will make it so that a user create will be - triggered the first time a non-existant user attempts to start - a session. This is useful if you already have users in an - external authentication database (eg LDAP) and you don't want - them to have to register. --> - <auto-create/> - - <!-- Templates. If defined, the contents of these files will be - stored in the users data store when they are created. --> - <template> - <!-- - <roster>/etc/jabberd/templates/roster.xml</roster> - --> - </template> - </user> - -</sm> diff --git a/web/html/applications/rhn-proxy/3.6/rhn.conf b/web/html/applications/rhn-proxy/3.6/rhn.conf deleted file mode 100644 index 1114598..0000000 --- a/web/html/applications/rhn-proxy/3.6/rhn.conf +++ /dev/null @@ -1,29 +0,0 @@ -# Automatically generated RHN Proxy Server configuration file. -# ------------------------------------------------------------------------- - -# SSL CA certificate location -proxy.ca_chain = ${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT} - -# Corporate HTTP proxy, format: corp_gateway.example.com:8080 -proxy.http_proxy = ${session.http_proxy} - -# Username for that corporate HTTP proxy -proxy.http_proxy_username = ${session.http_proxy_username} - -# Password for that corporate HTTP proxy -proxy.http_proxy_password = ${session.http_proxy_password} - -# Location of locally built, custom packages -proxy.pkg_dir = /var/spool/rhn-proxy - -# Hostname of RHN Server or RHN Satellite -proxy.rhn_parent = ${session.rhn_parent} - -# Destination of all tracebacks, etc. -traceback_mail = ${session.traceback_mail} - -# SSL eabled or disabled -proxy.use_ssl = ${session.use_ssl:0} - -# Monitoring Scout enabled or disabled -web.is_monitoring_scout = ${session.enable_monitoring_scout:0} diff --git a/web/html/applications/rhn-proxy/3.6/squid.conf b/web/html/applications/rhn-proxy/3.6/squid.conf deleted file mode 100644 index 1b18d39..0000000 --- a/web/html/applications/rhn-proxy/3.6/squid.conf +++ /dev/null @@ -1,30 +0,0 @@ -# squid.conf -# To be used for RHN Proxy servers. -# -# $Id$ - -http_port 8080 - -cache_mem 400 MB -maximum_object_size 200 MB -cache_dir ufs /var/spool/squid 15000 32 256 - -cache_replacement_policy heap LFUDA -memory_replacement_policy heap GDSF - -refresh_pattern . 0 100% 120000 - -acl all src 0.0.0.0/0.0.0.0 -acl localhost src 127.0.0.1/255.255.255.255 -acl SSL_ports port 443 -acl Safe_ports port 80 # http -acl Safe_ports port 443 # https -acl CONNECT method CONNECT - -http_access deny !Safe_ports -http_access deny CONNECT !SSL_ports -http_access allow localhost -http_access deny all -icp_access allow all -miss_access allow all - diff --git a/web/html/applications/rhn-proxy/3.7/cluster.ini b/web/html/applications/rhn-proxy/3.7/cluster.ini deleted file mode 100644 index 5cb0ec1..0000000 --- a/web/html/applications/rhn-proxy/3.7/cluster.ini +++ /dev/null @@ -1,8 +0,0 @@ -RemoteConfig.0.protocol=https -RemoteConfig.0.path=/satconfig/cgi-bin/fetch_nocpulseini.cgi -smonaddr=${session.rhn_monitoring_parent_ip} -smonfqdn=${session.rhn_monitoring_parent} -smontestaddr=${session.rhn_monitoring_parent_ip} -smontestfqdn=${session.rhn_monitoring_parent} -scoutsharedkey=${session.scout_shared_key} -PhysNode.1.exists=1 diff --git a/web/html/applications/rhn-proxy/3.7/httpd/httpd.conf b/web/html/applications/rhn-proxy/3.7/httpd/httpd.conf deleted file mode 100644 index a065c7c..0000000 --- a/web/html/applications/rhn-proxy/3.7/httpd/httpd.conf +++ /dev/null @@ -1,1461 +0,0 @@ -# -# Based upon the NCSA server configuration files originally by Rob McCool. -# -# This is the main Apache server configuration file. It contains the -# configuration directives that give the server its instructions. -# See URL:http://www.apache.org/docs/ for detailed information about -# the directives. -# -# Do NOT simply read the instructions in here without understanding -# what they do. They're here only as hints or reminders. If you are unsure -# consult the online docs. You have been warned. -# -# After this file is processed, the server will look for and process -# /etc/httpd/conf/srm.conf and then /etc/httpd/conf/access.conf -# unless you have overridden these with ResourceConfig and/or -# AccessConfig directives here. -# -# The configuration directives are grouped into three basic sections: -# 1. Directives that control the operation of the Apache server process as a -# whole (the 'global environment'). -# 2. Directives that define the parameters of the 'main' or 'default' server, -# which responds to requests that aren't handled by a virtual host. -# These directives also provide default values for the settings -# of all virtual hosts. -# 3. Settings for virtual hosts, which allow Web requests to be sent to -# different IP addresses or hostnames and have them handled by the -# same Apache server process. -# -# Configuration and logfile names: If the filenames you specify for many -# of the server's control files begin with "/" (or "drive:/" for Win32), the -# server will use that explicit path. If the filenames do *not* begin -# with "/", the value of ServerRoot is prepended -- so "logs/foo.log" -# with ServerRoot set to "/usr/local/apache" will be interpreted by the -# server as "/usr/local/apache/logs/foo.log". -# - -### Section 1: Global Environment -# -# The directives in this section affect the overall operation of Apache, -# such as the number of concurrent requests it can handle or where it -# can find its configuration files. -# - -# -# ServerType is either inetd, or standalone. Inetd mode is only supported on -# Unix platforms. -# -ServerType standalone - -# -# ServerRoot: The top of the directory tree under which the server's -# configuration, error, and log files are kept. -# -# NOTE! If you intend to place this on an NFS (or otherwise network) -# mounted filesystem then please read the LockFile documentation -# (available at URL:http://www.apache.org/docs/mod/core.html#lockfile); -# you will save yourself a lot of trouble. -# -# Do NOT add a slash at the end of the directory path. -# -ServerRoot "/etc/httpd" - -# -# The LockFile directive sets the path to the lockfile used when Apache -# is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or -# USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at -# its default value. The main reason for changing it is if the logs -# directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL -# DISK. The PID of the main server process is automatically appended to -# the filename. -# -LockFile /var/run/httpd.lock - -# -# PidFile: The file in which the server should record its process -# identification number when it starts. -# -PidFile /var/run/httpd.pid - -# -# ScoreBoardFile: File used to store internal server process information. -# Not all architectures require this. But if yours does (you'll know because -# this file will be created when you run Apache) then you *must* ensure that -# no two invocations of Apache share the same scoreboard file. -# -ScoreBoardFile logs/apache_runtime_status - -# -# In the standard configuration, the server will process httpd.conf (this -# file, specified by the -f command line option), srm.conf, and access.conf -# in that order. The latter two files are now distributed empty, as it is -# recommended that all directives be kept in a single file for simplicity. -# The commented-out values below are the built-in defaults. You can have the -# server ignore these files altogether by using "/dev/null" (for Unix) or -# "nul" (for Win32) for the arguments to the directives. -# -#ResourceConfig conf/srm.conf -#AccessConfig conf/access.conf - -# -# Timeout: The number of seconds before receives and sends time out. -# -Timeout 300 - -# -# KeepAlive: Whether or not to allow persistent connections (more than -# one request per connection). Set to "Off" to deactivate. -# -KeepAlive Off - -# -# MaxKeepAliveRequests: The maximum number of requests to allow -# during a persistent connection. Set to 0 to allow an unlimited amount. -# We recommend you leave this number high, for maximum performance. -# -MaxKeepAliveRequests 100 - -# -# KeepAliveTimeout: Number of seconds to wait for the next request from the -# same client on the same connection. -# -KeepAliveTimeout 15 - -# -# Server-pool size regulation. Rather than making you guess how many -# server processes you need, Apache dynamically adapts to the load it -# sees --- that is, it tries to maintain enough server processes to -# handle the current load, plus a few spare servers to handle transient -# load spikes (e.g., multiple simultaneous requests from a single -# Netscape browser). -# -# It does this by periodically checking how many servers are waiting -# for a request. If there are fewer than MinSpareServers, it creates -# a new spare. If there are more than MaxSpareServers, some of the -# spares die off. The default values are probably OK for most sites. -# -MinSpareServers 5 -MaxSpareServers 20 - -# -# Number of servers to start initially --- should be a reasonable ballpark -# figure. -# -StartServers 8 - -# -# Limit on total number of servers running, i.e., limit on the number -# of clients who can simultaneously connect --- if this limit is ever -# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW. -# It is intended mainly as a brake to keep a runaway server from taking -# the system with it as it spirals down... -# -MaxClients 150 - -# -# MaxRequestsPerChild: the number of requests each child process is -# allowed to process before the child dies. The child will exit so -# as to avoid problems after prolonged use when Apache (and maybe the -# libraries it uses) leak memory or other resources. On most systems, this -# isn't really needed, but a few (such as Solaris) do have notable leaks -# in the libraries. For these platforms, set to something like 10000 -# or so; a setting of 0 means unlimited. -# -# NOTE: This value does not include keepalive requests after the initial -# request per connection. For example, if a child process handles -# an initial request and 10 subsequent "keptalive" requests, it -# would only count as 1 request towards this limit. -# -MaxRequestsPerChild 1000 - -# -# Listen: Allows you to bind Apache to specific IP addresses and/or -# ports, in addition to the default. See also the <VirtualHost> -# directive. -# -#Listen 3000 -#Listen 12.34.56.78:80 -#Listen 80 - -# -# BindAddress: You can support virtual hosts with this option. This directive -# is used to tell the server which IP address to listen to. It can either -# contain "*", an IP address, or a fully qualified Internet domain name. -# See also the <VirtualHost> and Listen directives. -# -#BindAddress * - -# -# Dynamic Shared Object (DSO) Support -# -# To be able to use the functionality of a module which was built as a DSO you -# have to place corresponding `LoadModule' lines at this location so the -# directives contained in it are actually available _before_ they are used. -# Please read the file http://httpd.apache.org/docs/dso.html for more -# details about the DSO mechanism and run `httpd -l' for the list of already -# built-in (statically linked and thus always available) modules in your httpd -# binary. -# -# Note: The order in which modules are loaded is important. Don't change -# the order below without expert advice. -# -# Example: -# LoadModule foo_module modules/mod_foo.so - -#LoadModule mmap_static_module modules/mod_mmap_static.so -LoadModule vhost_alias_module modules/mod_vhost_alias.so -<IfDefine HAVE_BANDWIDTH> -LoadModule bandwidth_module modules/mod_bandwidth.so -</IfDefine> -<IfDefine HAVE_THROTTLE> -LoadModule throttle_module modules/mod_throttle.so -</IfDefine> -LoadModule env_module modules/mod_env.so -LoadModule config_log_module modules/mod_log_config.so -LoadModule agent_log_module modules/mod_log_agent.so -LoadModule referer_log_module modules/mod_log_referer.so -#LoadModule mime_magic_module modules/mod_mime_magic.so -LoadModule mime_module modules/mod_mime.so -#LoadModule negotiation_module modules/mod_negotiation.so -LoadModule status_module modules/mod_status.so -LoadModule info_module modules/mod_info.so -LoadModule includes_module modules/mod_include.so -LoadModule autoindex_module modules/mod_autoindex.so -LoadModule dir_module modules/mod_dir.so -LoadModule cgi_module modules/mod_cgi.so -LoadModule asis_module modules/mod_asis.so -LoadModule imap_module modules/mod_imap.so -LoadModule action_module modules/mod_actions.so -#LoadModule speling_module modules/mod_speling.so -LoadModule userdir_module modules/mod_userdir.so -LoadModule alias_module modules/mod_alias.so -LoadModule rewrite_module modules/mod_rewrite.so -LoadModule access_module modules/mod_access.so -LoadModule auth_module modules/mod_auth.so -LoadModule anon_auth_module modules/mod_auth_anon.so -#LoadModule db_auth_module modules/mod_auth_db.so -#LoadModule auth_any_module modules/mod_auth_any.so -#LoadModule dbm_auth_module modules/mod_auth_dbm.so -#LoadModule auth_ldap_module modules/mod_auth_ldap.so -#LoadModule mysql_auth_module modules/mod_auth_mysql.so -#LoadModule auth_pgsql_module modules/mod_auth_pgsql.so -#LoadModule digest_module modules/mod_digest.so -#LoadModule proxy_module modules/libproxy.so -#LoadModule cern_meta_module modules/mod_cern_meta.so -LoadModule expires_module modules/mod_expires.so -LoadModule headers_module modules/mod_headers.so -#LoadModule usertrack_module modules/mod_usertrack.so -#LoadModule example_module modules/mod_example.so -#LoadModule unique_id_module modules/mod_unique_id.so -LoadModule setenvif_module modules/mod_setenvif.so -<IfDefine HAVE_PERL> -LoadModule perl_module modules/libperl.so -</IfDefine> -<IfDefine HAVE_PHP> -LoadModule php_module modules/mod_php.so -</IfDefine> -<IfDefine HAVE_PHP3> -LoadModule php3_module modules/libphp3.so -</IfDefine> -<IfDefine HAVE_PHP4> -LoadModule php4_module modules/libphp4.so -</IfDefine> -<IfDefine HAVE_DAV> -LoadModule dav_module modules/libdav.so -</IfDefine> -<IfDefine HAVE_ROAMING> -LoadModule roaming_module modules/mod_roaming.so -</IfDefine> -<IfDefine HAVE_SSL> -LoadModule ssl_module modules/libssl.so -</IfDefine> -<IfDefine HAVE_PUT> -LoadModule put_module modules/mod_put.so -</IfDefine> -<IfDefine HAVE_PYTHON> -LoadModule python_module modules/mod_python.so -</IfDefine> - -# Reconstruction of the complete module list from all available modules -# (static and shared ones) to achieve correct module execution order. -# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO] -ClearModuleList -#AddModule mod_mmap_static.c -AddModule mod_vhost_alias.c -<IfDefine HAVE_BANDWIDTH> -AddModule mod_bandwidth.c -</IfDefine> -<IfDefine HAVE_THROTTLE> -AddModule mod_throttle.c -</IfDefine> -AddModule mod_env.c -AddModule mod_log_config.c -AddModule mod_log_agent.c -AddModule mod_log_referer.c -#AddModule mod_mime_magic.c -AddModule mod_mime.c -#AddModule mod_negotiation.c -AddModule mod_status.c -AddModule mod_info.c -AddModule mod_include.c -AddModule mod_autoindex.c -AddModule mod_dir.c -AddModule mod_cgi.c -AddModule mod_asis.c -AddModule mod_imap.c -AddModule mod_actions.c -#AddModule mod_speling.c -AddModule mod_userdir.c -AddModule mod_alias.c -AddModule mod_rewrite.c -AddModule mod_access.c -AddModule mod_auth.c -AddModule mod_auth_anon.c -#AddModule mod_auth_db.c -#AddModule mod_auth_any.c -#AddModule mod_auth_dbm.c -#AddModule auth_ldap.c -#AddModule mod_auth_mysql.c -#AddModule mod_auth_pgsql.c -#AddModule mod_digest.c -#AddModule mod_proxy.c -#AddModule mod_cern_meta.c -AddModule mod_expires.c -AddModule mod_headers.c -#AddModule mod_usertrack.c -#AddModule mod_example.c -#AddModule mod_unique_id.c -AddModule mod_so.c -AddModule mod_setenvif.c -<IfDefine HAVE_PERL> -AddModule mod_perl.c -</IfDefine> -<IfDefine HAVE_PHP> -AddModule mod_php.c -</IfDefine> -<IfDefine HAVE_PHP3> -AddModule mod_php3.c -</IfDefine> -<IfDefine HAVE_PHP4> -AddModule mod_php4.c -</IfDefine> -<IfDefine HAVE_DAV> -AddModule mod_dav.c -</IfDefine> -<IfDefine HAVE_ROAMING> -AddModule mod_roaming.c -</IfDefine> -<IfDefine HAVE_SSL> -AddModule mod_ssl.c -</IfDefine> -<IfDefine HAVE_PUT> -AddModule mod_put.c -</IfDefine> -<IfDefine HAVE_PYTHON> -AddModule mod_python.c -</IfDefine> - -# -# ExtendedStatus controls whether Apache will generate "full" status -# information (ExtendedStatus On) or just basic information (ExtendedStatus -# Off) when the "server-status" handler is called. The default is Off. -# -#ExtendedStatus On - -### Section 2: 'Main' server configuration -# -# The directives in this section set up the values used by the 'main' -# server, which responds to any requests that aren't handled by a -# <VirtualHost> definition. These values also provide defaults for -# any <VirtualHost> containers you may define later in the file. -# -# All of these directives may appear inside <VirtualHost> containers, -# in which case these default settings will be overridden for the -# virtual host being defined. -# - -# -# If your ServerType directive (set earlier in the 'Global Environment' -# section) is set to "inetd", the next few directives don't have any -# effect since their settings are defined by the inetd configuration. -# Skip ahead to the ServerAdmin directive. -# - -# -# Port: The port to which the standalone server listens. For -# ports < 1023, you will need httpd to be run as root initially. -# -Port 80 - -## -## SSL Support -## -## When we also provide SSL we have to listen to the -## standard HTTP port (see above) and to the HTTPS port -## -<IfDefine HAVE_SSL> -Listen 80 -Listen 443 -</IfDefine> - -# -# If you wish httpd to run as a different user or group, you must run -# httpd as root initially and it will switch. -# -# User/Group: The name (or #number) of the user/group to run httpd as. -# . On SCO (ODT 3) use "User nouser" and "Group nogroup". -# . On HPUX you may not be able to use shared memory as nobody, and the -# suggested workaround is to create a user www and use that user. -# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET) -# when the value of (unsigned)Group is above 60000; -# don't use Group "#-1" on these systems! -# -User apache -Group apache - -# -# ServerAdmin: Your address, where problems with the server should be -# e-mailed. This address appears on some server-generated pages, such -# as error documents. -# -ServerAdmin root@localhost - -# -# ServerName allows you to set a host name which is sent back to clients for -# your server if it's different than the one the program would get (i.e., use -# "www" instead of the host's real name). -# -# Note: You cannot just invent host names and hope they work. The name you -# define here must be a valid DNS name for your host. If you don't understand -# this, ask your network administrator. -# If your host doesn't have a registered DNS name, enter its IP address here. -# You will have to access it by its address (e.g., http://123.45.67.89/) -# anyway, and this will make redirections work in a sensible way. -# -# 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your -# machine always knows itself by this address. If you use Apache strictly for -# local testing and development, you may use 127.0.0.1 as the server name. -# -#ServerName localhost - -# -# DocumentRoot: The directory out of which you will serve your -# documents. By default, all requests are taken from this directory, but -# symbolic links and aliases may be used to point to other locations. -# -DocumentRoot "/var/www/html" - -# -# Each directory to which Apache has access, can be configured with respect -# to which services and features are allowed and/or disabled in that -# directory (and its subdirectories). -# -# First, we configure the "default" to be a very restrictive set of -# permissions. -# -<Directory /> - Options FollowSymLinks - AllowOverride None -</Directory> - -# -# Note that from this point forward you must specifically allow -# particular features to be enabled - so if something's not working as -# you might expect, make sure that you have specifically enabled it -# below. -# - -# -# This should be changed to whatever you set DocumentRoot to. -# -<Directory "/var/www/html"> - -# -# This may also be "None", "All", or any combination of "Indexes", -# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews". -# -# Note that "MultiViews" must be named *explicitly* --- "Options All" -# doesn't give it to you. -# - Options Indexes FollowSymLinks - -# -# This controls which options the .htaccess files in directories can -# override. Can also be "All", or any combination of "Options", "FileInfo", -# "AuthConfig", and "Limit" -# - AllowOverride None - -# -# Controls who can get stuff from this server. -# - Order allow,deny - Allow from all -</Directory> - -# -# UserDir: The name of the directory which is appended onto a user's home -# directory if a ~user request is received. -# -# The path to the end user account 'public_html' directory must be -# accessible to the webserver userid. This usually means that ~userid -# must have permissions of 711, ~userid/public_html must have permissions -# of 755, and documents contained therein must be world-readable. -# Otherwise, the client will only receive a "403 Forbidden" message. -# -# See also: http://httpd.apache.org/docs/misc/FAQ.html#forbidden -# -<IfModule mod_userdir.c> - UserDir public_html -</IfModule> - -# -# Control access to UserDir directories. The following is an example -# for a site where these directories are restricted to read-only. -# -#<Directory /home/*/public_html> -# AllowOverride FileInfo AuthConfig Limit -# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec -# <Limit GET POST OPTIONS PROPFIND> -# Order allow,deny -# Allow from all -# </Limit> -# <LimitExcept GET POST OPTIONS PROPFIND> -# Order deny,allow -# Deny from all -# </LimitExcept> -#</Directory> - -# -# DirectoryIndex: Name of the file or files to use as a pre-written HTML -# directory index. Separate multiple entries with spaces. -# -<IfModule mod_dir.c> - DirectoryIndex _rhn_proxy/index.html index.html index.htm index.shtml index.php index.php4 index.php3 index.phtml index.cgi -</IfModule> - -# -# AccessFileName: The name of the file to look for in each directory -# for access control information. -# -AccessFileName .htaccess - -# -# The following lines prevent .htaccess files from being viewed by -# Web clients. Since .htaccess files often contain authorization -# information, access is disallowed for security reasons. Comment -# these lines out if you want Web visitors to see the contents of -# .htaccess files. If you change the AccessFileName directive above, -# be sure to make the corresponding changes here. -# -# Also, folks tend to use names such as .htpasswd for password -# files, so this will protect those as well. -# -<Files ~ "^.ht"> - Order allow,deny - Deny from all - Satisfy All -</Files> - -# -# CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each -# document that was negotiated on the basis of content. This asks proxy -# servers not to cache the document. Uncommenting the following line disables -# this behavior, and proxies will be allowed to cache the documents. -# -#CacheNegotiatedDocs - -# -# UseCanonicalName: (new for 1.3) With this setting turned on, whenever -# Apache needs to construct a self-referencing URL (a URL that refers back -# to the server the response is coming from) it will use ServerName and -# Port to form a "canonical" name. With this setting off, Apache will -# use the hostname:port that the client supplied, when possible. This -# also affects SERVER_NAME and SERVER_PORT in CGI scripts. -# -UseCanonicalName On - -# -# TypesConfig describes where the mime.types file (or equivalent) is -# to be found. -# -<IfModule mod_mime.c> - TypesConfig /etc/mime.types -</IfModule> - -# -# DefaultType is the default MIME type the server will use for a document -# if it cannot otherwise determine one, such as from filename extensions. -# If your server contains mostly text or HTML documents, "text/plain" is -# a good value. If most of your content is binary, such as applications -# or images, you may want to use "application/octet-stream" instead to -# keep browsers from trying to display binary files as though they are -# text. -# -DefaultType text/plain - -# -# The mod_mime_magic module allows the server to use various hints from the -# contents of the file itself to determine its type. The MIMEMagicFile -# directive tells the module where the hint definitions are located. -# mod_mime_magic is not part of the default server (you have to add -# it yourself with a LoadModule [see the DSO paragraph in the 'Global -# Environment' section], or recompile the server and include mod_mime_magic -# as part of the configuration), so it's enclosed in an <IfModule> container. -# This means that the MIMEMagicFile directive will only be processed if the -# module is part of the server. -# -<IfModule mod_mime_magic.c> -# MIMEMagicFile /usr/share/magic.mime - MIMEMagicFile conf/magic -</IfModule> - -# -# HostnameLookups: Log the names of clients or just their IP addresses -# e.g., www.apache.org (on) or 204.62.129.132 (off). -# The default is off because it'd be overall better for the net if people -# had to knowingly turn this feature on, since enabling it means that -# each client request will result in AT LEAST one lookup request to the -# nameserver. -# -HostnameLookups Off - -# -# ErrorLog: The location of the error log file. -# If you do not specify an ErrorLog directive within a <VirtualHost> -# container, error messages relating to that virtual host will be -# logged here. If you *do* define an error logfile for a <VirtualHost> -# container, that host's errors will be logged there and not here. -# -ErrorLog logs/error_log - -# -# LogLevel: Control the number of messages logged to the error_log. -# Possible values include: debug, info, notice, warn, error, crit, -# alert, emerg. -# -LogLevel warn - -# -# The following directives define some format nicknames for use with -# a CustomLog directive (see below). -# -LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined -LogFormat "%h %l %u %t "%r" %>s %b" common -LogFormat "%{Referer}i -> %U" referer -LogFormat "%{User-agent}i" agent - -# -# The location and format of the access logfile (Common Logfile Format). -# If you do not define any access logfiles within a <VirtualHost> -# container, they will be logged here. Contrariwise, if you *do* -# define per-<VirtualHost> access logfiles, transactions will be -# logged therein and *not* in this file. -# -# CustomLog /var/log/httpd/access_log common -CustomLog logs/access_log combined - -# -# If you would like to have agent and referer logfiles, uncomment the -# following directives. -# -#CustomLog logs/referer_log referer -#CustomLog logs/agent_log agent - -# -# If you prefer a single logfile with access, agent, and referer information -# (Combined Logfile Format) you can use the following directive. -# -#CustomLog logs/access_log combined - -# -# Optionally add a line containing the server version and virtual host -# name to server-generated pages (error documents, FTP directory listings, -# mod_status and mod_info output etc., but not CGI generated documents). -# Set to "EMail" to also include a mailto: link to the ServerAdmin. -# Set to one of: On | Off | EMail -# -ServerSignature On - -# EBCDIC configuration: -# (only for mainframes using the EBCDIC codeset, currently one of: -# Fujitsu-Siemens' BS2000/OSD, IBM's OS/390 and IBM's TPF)!! -# The following default configuration assumes that "text files" -# are stored in EBCDIC (so that you can operate on them using the -# normal POSIX tools like grep and sort) while "binary files" are -# stored with identical octets as on an ASCII machine. -# -# The directives are evaluated in configuration file order, with -# the EBCDICConvert directives applied before EBCDICConvertByType. -# -# If you want to have ASCII HTML documents and EBCDIC HTML documents -# at the same time, you can use the file extension to force -# conversion off for the ASCII documents: -# > AddType text/html .ahtml -# > EBCDICConvert Off=InOut .ahtml -# -# EBCDICConvertByType On=InOut text/* message/* multipart/* -# EBCDICConvertByType On=In application/x-www-form-urlencoded -# EBCDICConvertByType On=InOut application/postscript model/vrml -# EBCDICConvertByType Off=InOut */* - - -# -# Aliases: Add here as many aliases as you need (with no limit). The format is -# Alias fakename realname -# -<IfModule mod_alias.c> - - # - # Note that if you include a trailing / on fakename then the server will - # require it to be present in the URL. So "/icons" isn't aliased in this - # example, only "/icons/". If the fakename is slash-terminated, then the - # realname must also be slash terminated, and if the fakename omits the - # trailing slash, the realname must also omit it. - # - Alias /icons/ "/var/www/icons/" - - <Directory "/var/www/icons"> - Options Indexes MultiViews - AllowOverride None - Order allow,deny - Allow from all - </Directory> - - # This Alias will project the on-line documentation tree under /manual/ - # even if you change the DocumentRoot. Comment it if you don't want to - # provide access to the on-line documentation. - # - # Alias /manual/ "/etc/httpd/htdocs/manual/" - # - # <Directory "/etc/httpd/htdocs/manual"> - # Options Indexes FollowSymlinks MultiViews - # AllowOverride None - # Order allow,deny - # Allow from all - # </Directory> - - # - # ScriptAlias: This controls which directories contain server scripts. - # ScriptAliases are essentially the same as Aliases, except that - # documents in the realname directory are treated as applications and - # run by the server when requested rather than as documents sent to the client. - # The same rules about trailing "/" apply to ScriptAlias directives as to - # Alias. - # - ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" - - # - # "/var/www/cgi-bin" should be changed to whatever your ScriptAliased - # CGI directory exists, if you have that configured. - # - <Directory "/var/www/cgi-bin"> - AllowOverride None - Options None - Order allow,deny - Allow from all - </Directory> - -</IfModule> -# End of aliases. - -# -# Redirect allows you to tell clients about documents which used to exist in -# your server's namespace, but do not anymore. This allows you to tell the -# clients where to look for the relocated document. -# Format: Redirect old-URI new-URL -# - -# -# Directives controlling the display of server-generated directory listings. -# -<IfModule mod_autoindex.c> - - # - # FancyIndexing is whether you want fancy directory indexing or standard - # - IndexOptions FancyIndexing NameWidth=* - - # - # AddIcon* directives tell the server which icon to show for different - # files or filename extensions. These are only displayed for - # FancyIndexed directories. - # - AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip - - AddIconByType (TXT,/icons/text.gif) text/* - AddIconByType (IMG,/icons/image2.gif) image/* - AddIconByType (SND,/icons/sound2.gif) audio/* - AddIconByType (VID,/icons/movie.gif) video/* - - AddIcon /icons/binary.gif .bin .exe - AddIcon /icons/binhex.gif .hqx - AddIcon /icons/tar.gif .tar - AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv - AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip - AddIcon /icons/a.gif .ps .ai .eps - AddIcon /icons/layout.gif .html .shtml .htm .pdf - AddIcon /icons/text.gif .txt - AddIcon /icons/c.gif .c - AddIcon /icons/p.gif .pl .py - AddIcon /icons/f.gif .for - AddIcon /icons/dvi.gif .dvi - AddIcon /icons/uuencoded.gif .uu - AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl - AddIcon /icons/tex.gif .tex - AddIcon /icons/bomb.gif core - - AddIcon /icons/back.gif .. - AddIcon /icons/hand.right.gif README - AddIcon /icons/folder.gif ^^DIRECTORY^^ - AddIcon /icons/blank.gif ^^BLANKICON^^ - - # - # DefaultIcon is which icon to show for files which do not have an icon - # explicitly set. - # - DefaultIcon /icons/unknown.gif - - # - # AddDescription allows you to place a short description after a file in - # server-generated indexes. These are only displayed for FancyIndexed - # directories. - # Format: AddDescription "description" filename - # - #AddDescription "GZIP compressed document" .gz - #AddDescription "tar archive" .tar - #AddDescription "GZIP compressed tar archive" .tgz - - # - # ReadmeName is the name of the README file the server will look for by - # default, and append to directory listings. - # - # HeaderName is the name of a file which should be prepended to - # directory indexes. - # - # If MultiViews are amongst the Options in effect, the server will - # first look for name.html and include it if found. If name.html - # doesn't exist, the server will then look for name.txt and include - # it as plaintext if found. - # - ReadmeName README - HeaderName HEADER - - # - # IndexIgnore is a set of filenames which directory indexing should ignore - # and not include in the listing. Shell-style wildcarding is permitted. - # - IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t - -</IfModule> -# End of indexing directives. - -# -# Document types. -# -<IfModule mod_mime.c> - - # - # AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress - # information on the fly. Note: Not all browsers support this. - # Despite the name similarity, the following Add* directives have nothing - # to do with the FancyIndexing customization directives above. - # - AddEncoding x-compress Z - AddEncoding x-gzip gz tgz - - # - # AddLanguage allows you to specify the language of a document. You can - # then use content negotiation to give a browser a file in a language - # it can understand. - # - # Note 1: The suffix does not have to be the same as the language - # keyword --- those with documents in Polish (whose net-standard - # language code is pl) may wish to use "AddLanguage pl .po" to - # avoid the ambiguity with the common suffix for perl scripts. - # - # Note 2: The example entries below illustrate that in quite - # some cases the two character 'Language' abbreviation is not - # identical to the two character 'Country' code for its country, - # E.g. 'Danmark/dk' versus 'Danish/da'. - # - # Note 3: In the case of 'ltz' we violate the RFC by using a three char - # specifier. But there is 'work in progress' to fix this and get - # the reference data for rfc1766 cleaned up. - # - # Danish (da) - Dutch (nl) - English (en) - Estonian (ee) - # French (fr) - German (de) - Greek-Modern (el) - # Italian (it) - Korean (kr) - Norwegian (no) - Norwegian Nynorsk (nn) - # Portugese (pt) - Luxembourgeois* (ltz) - # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz) - # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja) - # Russian (ru) - # - AddLanguage da .dk - AddLanguage nl .nl - AddLanguage en .en - AddLanguage et .ee - AddLanguage fr .fr - AddLanguage de .de - AddLanguage el .el - AddLanguage he .he - AddCharset ISO-8859-8 .iso8859-8 - AddLanguage it .it - AddLanguage ja .ja - AddCharset ISO-2022-JP .jis - AddLanguage kr .kr - AddCharset ISO-2022-KR .iso-kr - AddLanguage nn .nn - AddLanguage no .no - AddLanguage pl .po - AddCharset ISO-8859-2 .iso-pl - AddLanguage pt .pt - AddLanguage pt-br .pt-br - AddLanguage ltz .lu - AddLanguage ca .ca - AddLanguage es .es - AddLanguage sv .se - AddLanguage cz .cz - AddLanguage ru .ru - AddLanguage zh-tw .tw - AddLanguage tw .tw - AddCharset Big5 .Big5 .big5 - AddCharset WINDOWS-1251 .cp-1251 - AddCharset CP866 .cp866 - AddCharset ISO-8859-5 .iso-ru - AddCharset KOI8-R .koi8-r - AddCharset UCS-2 .ucs2 - AddCharset UCS-4 .ucs4 - AddCharset UTF-8 .utf8 - - # LanguagePriority allows you to give precedence to some languages - # in case of a tie during content negotiation. - # - # Just list the languages in decreasing order of preference. We have - # more or less alphabetized them here. You probably want to change this. - # - <IfModule mod_negotiation.c> - LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw - </IfModule> - - # - # AddType allows you to tweak mime.types without actually editing it, or to - # make certain files to be certain types. - # - # For example, the PHP 3.x module (not part of the Apache distribution - see - # http://www.php.net) will typically use: - # - <IfModule mod_php3.c> - AddType application/x-httpd-php3 .php3 - AddType application/x-httpd-php3-source .phps - </IfModule> - # - # And for PHP 4.x, use: - # - <IfModule mod_php4.c> - AddType application/x-httpd-php .php .php4 .php3 .phtml - AddType application/x-httpd-php-source .phps - </IfModule> - - # - # For PHP/FI (PHP2), use: - # - <IfModule mod_php.c> - AddType application/x-httpd-php .phtml - </IfModule> - - AddType application/x-tar .tgz - - # - # AddHandler allows you to map certain file extensions to "handlers", - # actions unrelated to filetype. These can be either built into the server - # or added with the Action command (see below) - # - # If you want to use server side includes, or CGI outside - # ScriptAliased directories, uncomment the following lines. - # - # To use CGI scripts: - # - #AddHandler cgi-script .cgi - - # - # To use server-parsed HTML files - # - AddType text/html .shtml - AddHandler server-parsed .shtml - - # - # Uncomment the following line to enable Apache's send-asis HTTP file - # feature - # - #AddHandler send-as-is asis - - # - # If you wish to use server-parsed imagemap files, use - # - AddHandler imap-file map - - # - # To enable type maps, you might want to use - # - #AddHandler type-map var - -</IfModule> -# End of document types. - -# -# Action lets you define media types that will execute a script whenever -# a matching file is called. This eliminates the need for repeated URL -# pathnames for oft-used CGI file processors. -# Format: Action media/type /cgi-script/location -# Format: Action handler-name /cgi-script/location -# - -# -# MetaDir: specifies the name of the directory in which Apache can find -# meta information files. These files contain additional HTTP headers -# to include when sending the document -# -#MetaDir .web - -# -# MetaSuffix: specifies the file name suffix for the file containing the -# meta information. -# -#MetaSuffix .meta - -# -# Customizable error response (Apache style) -# these come in three flavors -# -# 1) plain text -#ErrorDocument 500 "The server made a boo boo. -# n.b. the single leading (") marks it as text, it does not get output -# -# 2) local redirects -#ErrorDocument 404 /missing.html -# to redirect to local URL /missing.html -#ErrorDocument 404 /cgi-bin/missing_handler.pl -# N.B.: You can redirect to a script or a document using server-side-includes. -# -# 3) external redirects -#ErrorDocument 402 http://some.other_server.com/subscription_info.html -# N.B.: Many of the environment variables associated with the original -# request will *not* be available to such a script. - -# -# Customize behaviour based on the browser -# -<IfModule mod_setenvif.c> - - # - # The following directives modify normal HTTP response behavior. - # The first directive disables keepalive for Netscape 2.x and browsers that - # spoof it. There are known problems with these browser implementations. - # The second directive is for Microsoft Internet Explorer 4.0b2 - # which has a broken HTTP/1.1 implementation and does not properly - # support keepalive when it is used on 301 or 302 (redirect) responses. - # - BrowserMatch "Mozilla/2" nokeepalive - BrowserMatch "MSIE 4.0b2;" nokeepalive downgrade-1.0 force-response-1.0 - - # - # The following directive disables HTTP/1.1 responses to browsers which - # are in violation of the HTTP/1.0 spec by not being able to grok a - # basic 1.1 response. - # - BrowserMatch "RealPlayer 4.0" force-response-1.0 - BrowserMatch "Java/1.0" force-response-1.0 - BrowserMatch "JDK/1.0" force-response-1.0 - -</IfModule> -# End of browser customization directives - -# -# If the perl module is installed, this will allow execution of mod_perl -# to compile your scripts to subroutines which it will execute directly, -# avoiding the costly compile process for most requests. -# -#<IfModule mod_perl.c> -# Alias /perl /var/www/perl -# <Directory /var/www/perl> -# SetHandler perl-script -# PerlHandler Apache::Registry -# Options +ExecCGI -# </Directory> -#</IfModule> - -# -# Allow http put (such as Netscape Gold's publish feature) -# Use htpasswd to generate /etc/httpd/conf/passwd. -# -#<IfModule mod_put.c> -# Alias /upload /tmp -# <Directory /tmp> -# EnablePut On -# AuthType Basic -# AuthName Temporary -# AuthUserFile /etc/httpd/conf/passwd -# EnableDelete Off -# umask 007 -# <Limit PUT> -# require valid-user -# </Limit> -# </Directory> -#</IfModule> - -# -# Allow server status reports, with the URL of http://servername/server-status -# Change the ".your_domain.com" to match your domain to enable. -# -#<Location /server-status> -# SetHandler server-status -# Order deny,allow -# Deny from all -# Allow from .your_domain.com -#</Location> - -# -# Allow remote server configuration reports, with the URL of -# http://servername/server-info (requires that mod_info.c be loaded). -# Change the ".your_domain.com" to match your domain to enable. -# -#<Location /server-info> -# SetHandler server-info -# Order deny,allow -# Deny from all -# Allow from .your_domain.com -#</Location> - -# -# Allow access to local system documentation from localhost -# -Alias /doc/ /usr/share/doc/ -<Directory /usr/share/doc> - order deny,allow - deny from all - allow from localhost .localdomain - Options Indexes FollowSymLinks -</Directory> - -# -# There have been reports of people trying to abuse an old bug from pre-1.1 -# days. This bug involved a CGI script distributed as a part of Apache. -# By uncommenting these lines you can redirect these attacks to a logging -# script on phf.apache.org. Or, you can record them yourself, using the script -# support/phf_abuse_log.cgi. -# -#<Location /cgi-bin/phf*> -# Deny from all -# ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi -#</Location> - -# -# Proxy Server directives. Uncomment the following lines to -# enable the proxy server: -# -#<IfModule mod_proxy.c> -# ProxyRequests On - -# <Directory proxy:*> -# Order deny,allow -# Deny from all -# Allow from .your_domain.com -# </Directory> - - # - # Enable/disable the handling of HTTP/1.1 "Via:" headers. - # ("Full" adds the server version; "Block" removes all outgoing Via: headers) - # Set to one of: Off | On | Full | Block - # -# ProxyVia On - - # - # To enable the cache as well, edit and uncomment the following lines: - # (no caching without CacheRoot) - # -# CacheRoot "/var/cache/httpd" -# CacheSize 5 -# CacheGcInterval 4 -# CacheMaxExpire 24 -# CacheLastModifiedFactor 0.1 -# CacheDefaultExpire 1 -# NoCache a_domain.com another_domain.edu joes.garage_sale.com - -#</IfModule> -# End of proxy directives. - -### Section 3: Virtual Hosts -# -# VirtualHost: If you want to maintain multiple domains/hostnames on your -# machine you can setup VirtualHost containers for them. Most configurations -# use only name-based virtual hosts so the server doesn't need to worry about -# IP addresses. This is indicated by the asterisks in the directives below. -# -# Please see the documentation at URL:http://www.apache.org/docs/vhosts/ -# for further details before you try to setup virtual hosts. -# -# You may use the command line option '-S' to verify your virtual host -# configuration. - -# -# Use name-based virtual hosting. -# -#NameVirtualHost * - -# -# VirtualHost example: -# Almost any Apache directive may go into a VirtualHost container. -# The first VirtualHost section is used for requests without a known -# server name. -# -#<VirtualHost *> -# ServerAdmin webmaster@dummy-host.example.com -# DocumentRoot /www/docs/dummy-host.example.com -# ServerName dummy-host.example.com -# ErrorLog logs/dummy-host.example.com-error_log -# CustomLog logs/dummy-host.example.com-access_log common -#</VirtualHost> - -#<VirtualHost _default_:*> -#</VirtualHost> - -## -## SSL Global Context -## -## All SSL configuration in this context applies both to -## the main server and all SSL-enabled virtual hosts. -## - -# -# Some MIME-types for downloading Certificates and CRLs -# -<IfDefine HAVE_SSL> -AddType application/x-x509-ca-cert .crt -AddType application/x-pkcs7-crl .crl -</IfDefine> - -<IfModule mod_ssl.c> - -# Pass Phrase Dialog: -# Configure the pass phrase gathering process. -# The filtering dialog program (`builtin' is a internal -# terminal dialog) has to provide the pass phrase on stdout. -SSLPassPhraseDialog builtin - -# Inter-Process Session Cache: -# Configure the SSL Session Cache: First the mechanism -# to use and second the expiring timeout (in seconds). -#SSLSessionCache none -#SSLSessionCache shmht:logs/ssl_scache(512000) -SSLSessionCache shmcb:logs/ssl_scache(512000) -#SSLSessionCache shm:logs/ssl_scache(512000) -SSLSessionCacheTimeout 300 - -# Semaphore: -# Configure the path to the mutual exclusion semaphore the -# SSL engine uses internally for inter-process synchronization. -SSLMutex file:logs/ssl_mutex - -# Pseudo Random Number Generator (PRNG): -# Configure one or more sources to seed the PRNG of the -# SSL library. The seed data should be of good random quality. -# WARNING! On some platforms /dev/random blocks if not enough entropy -# is available. This means you then cannot use the /dev/random device -# because it would lead to very long connection times (as long as -# it requires to make more entropy available). But usually those -# platforms additionally provide a /dev/urandom device which doesn't -# block. So, if available, use this one instead. Read the mod_ssl User -# Manual for more details. -SSLRandomSeed startup builtin -SSLRandomSeed connect builtin -#SSLRandomSeed startup file:/dev/random 512 -#SSLRandomSeed startup file:/dev/urandom 512 -#SSLRandomSeed connect file:/dev/random 512 -#SSLRandomSeed connect file:/dev/urandom 512 - -# Logging: -# The home of the dedicated SSL protocol logfile. Errors are -# additionally duplicated in the general error log file. Put -# this somewhere where it cannot be used for symlink attacks on -# a real server (i.e. somewhere where only root can write). -# Log levels are (ascending order: higher ones include lower ones): -# none, error, warn, info, trace, debug. -SSLLog logs/ssl_engine_log -SSLLogLevel error - -</IfModule> - -<IfDefine HAVE_SSL> - -## -## SSL Virtual Host Context -## - -<VirtualHost _default_:443> - -# General setup for the virtual host -#DocumentRoot "/etc/httpd/htdocs" -#ServerName new.host.name -#ServerAdmin you@your.address -ErrorLog logs/error_log -TransferLog logs/access_log - -# SSL Engine Switch: -# Enable/Disable SSL for this virtual host. -SSLEngine on - -# SSL Cipher Suite: -# List the ciphers that the client is permitted to negotiate. -# See the mod_ssl documentation for a complete list. -#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL - -# Server Certificate: -# Point SSLCertificateFile at a PEM encoded certificate. If -# the certificate is encrypted, then you will be prompted for a -# pass phrase. Note that a kill -HUP will prompt again. A test -# certificate can be generated with `make certificate' under -# built time. Keep in mind that if you've both a RSA and a DSA -# certificate you can configure both in parallel (to also allow -# the use of DSA ciphers, etc.) -SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt -#SSLCertificateFile /etc/httpd/conf/ssl.crt/server-dsa.crt - -# Server Private Key: -# If the key is not combined with the certificate, use this -# directive to point at the key file. Keep in mind that if -# you've both a RSA and a DSA private key you can configure -# both in parallel (to also allow the use of DSA ciphers, etc.) -SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key -#SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server-dsa.key - -# Server Certificate Chain: -# Point SSLCertificateChainFile at a file containing the -# concatenation of PEM encoded CA certificates which form the -# certificate chain for the server certificate. Alternatively -# the referenced file can be the same as SSLCertificateFile -# when the CA certificates are directly appended to the server -# certificate for convinience. -#SSLCertificateChainFile /etc/httpd/conf/ssl.crt/ca.crt - -# Certificate Authority (CA): -# Set the CA certificate verification path where to find CA -# certificates for client authentication or alternatively one -# huge file containing all of them (file must be PEM encoded) -# Note: Inside SSLCACertificatePath you need hash symlinks -# to point to the certificate files. Use the provided -# Makefile to update the hash symlinks after changes. -#SSLCACertificatePath /etc/httpd/conf/ssl.crt -#SSLCACertificateFile /etc/httpd/conf/ssl.crt/ca-bundle.crt - -# Certificate Revocation Lists (CRL): -# Set the CA revocation path where to find CA CRLs for client -# authentication or alternatively one huge file containing all -# of them (file must be PEM encoded) -# Note: Inside SSLCARevocationPath you need hash symlinks -# to point to the certificate files. Use the provided -# Makefile to update the hash symlinks after changes. -#SSLCARevocationPath /etc/httpd/conf/ssl.crl -#SSLCARevocationFile /etc/httpd/conf/ssl.crl/ca-bundle.crl - -# Client Authentication (Type): -# Client certificate verification type and depth. Types are -# none, optional, require and optional_no_ca. Depth is a -# number which specifies how deeply to verify the certificate -# issuer chain before deciding the certificate is not valid. -#SSLVerifyClient require -#SSLVerifyDepth 10 - -# Access Control: -# With SSLRequire you can do per-directory access control based -# on arbitrary complex boolean expressions containing server -# variable checks and other lookup directives. The syntax is a -# mixture between C and Perl. See the mod_ssl documentation -# for more details. -#<Location /> -#SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \ -# and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ -# and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ -# and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \ -# and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \ -# or %{REMOTE_ADDR} =~ m/^192.76.162.[0-9]+$/ -#</Location> - -# SSL Engine Options: -# Set various options for the SSL engine. -# o FakeBasicAuth: -# Translate the client X.509 into a Basic Authorisation. This means that -# the standard Auth/DBMAuth methods can be used for access control. The -# user name is the `one line' version of the client's X.509 certificate. -# Note that no password is obtained from the user. Every entry in the user -# file needs this password: `xxj31ZMTZzkVA'. -# o ExportCertData: -# This exports two additional environment variables: SSL_CLIENT_CERT and -# SSL_SERVER_CERT. These contain the PEM-encoded certificates of the -# server (always existing) and the client (only existing when client -# authentication is used). This can be used to import the certificates -# into CGI scripts. -# o StdEnvVars: -# This exports the standard SSL/TLS related `SSL_*' environment variables. -# Per default this exportation is switched off for performance reasons, -# because the extraction step is an expensive operation and is usually -# useless for serving static content. So one usually enables the -# exportation for CGI and SSI requests only. -# o CompatEnvVars: -# This exports obsolete environment variables for backward compatibility -# to Apache-SSL 1.x, mod_ssl 2.0.x, Sioux 1.0 and Stronghold 2.x. Use this -# to provide compatibility to existing CGI scripts. -# o StrictRequire: -# This denies access when "SSLRequireSSL" or "SSLRequire" applied even -# under a "Satisfy any" situation, i.e. when it applies access is denied -# and no other module can change it. -# o OptRenegotiate: -# This enables optimized SSL connection renegotiation handling when SSL -# directives are used in per-directory context. -#SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire -<Files ~ ".(cgi|shtml|phtml|php3?)$"> - SSLOptions +StdEnvVars -</Files> -<Directory "/var/www/cgi-bin"> - SSLOptions +StdEnvVars -</Directory> - -# SSL Protocol Adjustments: -# The safe and default but still SSL/TLS standard compliant shutdown -# approach is that mod_ssl sends the close notify alert but doesn't wait for -# the close notify alert from client. When you need a different shutdown -# approach you can use one of the following variables: -# o ssl-unclean-shutdown: -# This forces an unclean shutdown when the connection is closed, i.e. no -# SSL close notify alert is send or allowed to received. This violates -# the SSL/TLS standard but is needed for some brain-dead browsers. Use -# this when you receive I/O errors because of the standard approach where -# mod_ssl sends the close notify alert. -# o ssl-accurate-shutdown: -# This forces an accurate shutdown when the connection is closed, i.e. a -# SSL close notify alert is send and mod_ssl waits for the close notify -# alert of the client. This is 100% SSL/TLS standard compliant, but in -# practice often causes hanging connections with brain-dead browsers. Use -# this only for browsers where you know that their SSL implementation -# works correctly. -# Notice: Most problems of broken clients are also related to the HTTP -# keep-alive facility, so you usually additionally want to disable -# keep-alive for those clients, too. Use variable "nokeepalive" for this. -# Similarly, one has to force some clients to use HTTP/1.0 to workaround -# their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and -# "force-response-1.0" for this. -SetEnvIf User-Agent ".*MSIE.*" \ - nokeepalive ssl-unclean-shutdown \ - downgrade-1.0 force-response-1.0 - -# Per-Server Logging: -# The home of a custom SSL log file. Use this when you want a -# compact non-error SSL logfile on a virtual host basis. -CustomLog logs/ssl_request_log \ - "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b" - -</VirtualHost> - -</IfDefine> - -Include conf/rhn_proxy.conf diff --git a/web/html/applications/rhn-proxy/3.7/httpd/rhn_proxy.conf b/web/html/applications/rhn-proxy/3.7/httpd/rhn_proxy.conf deleted file mode 100644 index fba9c9e..0000000 --- a/web/html/applications/rhn-proxy/3.7/httpd/rhn_proxy.conf +++ /dev/null @@ -1,46 +0,0 @@ -# ** DO NOT EDIT ** -# RHN Proxy handler configuration file - -# RHN Proxy Server location -<LocationMatch "/*"> - # this stanza contains all the handlers for RHN app code - - # added for oracle - SetEnv ORACLE_HOME /opt/oracle - SetEnv NLS_LANG english.UTF8 - - # mod_python - <IfModule !mod_python.c> - LoadModule python_module modules/mod_python.so - AddModule mod_python.c - </IfModule> - - PythonPath "sys.path+['/usr/share/rhn']" - PythonDebug Off - - # this one shall be common for all the python configlets - # (for pre-version 3.1 anyway) - PythonOption RootDir /usr/share/rhn - - SetHandler python-program - # all of these handlers are defined in apacheServer - PythonHeaderParserHandler proxy.apacheServer::HeaderParserHandler - PythonHandler proxy.apacheServer::Handler - PythonCleanupHandler proxy.apacheServer::CleanupHandler - DefaultType text/xml -</LocationMatch> - -# let apache do it's default thing for /pub/*, /index.html, and /_rhn_proxy -# /pub is where user accessible data resides -# /_rhn_proxy is for the landing page and anything additional we may want to -# expand to in the future -<LocationMatch "/pub/*"> - SetHandler None - DefaultType text/plain -</LocationMatch> - -<LocationMatch "/_rhn_proxy"> - SetHandler None - DefaultType text/plain -</LocationMatch> - diff --git a/web/html/applications/rhn-proxy/3.7/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/3.7/install-rhn-proxy.xml deleted file mode 100644 index ff21012..0000000 --- a/web/html/applications/rhn-proxy/3.7/install-rhn-proxy.xml +++ /dev/null @@ -1,821 +0,0 @@ -<?xml version="1.0"?> - -<application acl-mixins="RHN::Access::System"> - - <name>Satellite Proxy</name> - <label>rhn_proxy</label> - <version>3.7</version> - - <prerequisites> - <org-channel-family>rhn-proxy</org-channel-family> - <system-feature>ftr_proxy_capable</system-feature> - <package-available>rhns-proxy-management</package-available> - </prerequisites> - - <terms-and-conditions url="http://www.redhat.com/licenses" /> - - <install> - - <requirements> - <system-entitlement-possible>provisioning_entitled</system-entitlement-possible> - <package-available>rhns-proxy-management</package-available> - <client-capable>script.run</client-capable> - <client-capable>configfiles.deploy</client-capable> - </requirements> - - <activity description="Check for conflicting packages"> - <method-call class="RHN::ProxyInstall" method="have_package"> - <package>bdb_perl</package> - <package>ConfigPusher-general</package> - <package>eventReceivers</package> - <package>FcntlLock</package> - <package>httpd</package> - <package>httpd-suexec</package> - <package>jabberd</package> - <package>libapreq2</package> - <package>libidn</package> - <package>LongLegs</package> - <package>MessageQueue</package> - <package>mm</package> - <package>mod_perl</package> - <package>mod_python</package> - <package>mod_ssl</package> - <package>NOCpulsePlugins</package> - <package>NPalert</package> - <package>np-config</package> - <package>NPusers</package> - <package>nslogs</package> - <package>oracle-devel</package> - <package>oracle_perl</package> - <package>perl-Apache-Admin-Config</package> - <package>perl-Apache-DBI</package> - <package>perl-BerkeleyDB</package> - <package>perl-BSD-Resource</package> - <package>perl-Class-MethodMaker</package> - <package>perl-Class-Singleton</package> - <package>perl-Config-IniFiles</package> - <package>perl-Crypt-DES</package> - <package>perl-Crypt-GeneratePassword</package> - <package>perl-Crypt-SSLeay</package> - <package>perl-DateTime</package> - <package>perl-DateTime-Locale</package> - <package>perl-DateTime-TimeZone</package> - <package>perl-DBD-Oracle</package> - <package>perl-Devel-Symdump</package> - <package>perl-Error</package> - <package>perl-FreezeThaw</package> - <package>perl-HTML-TableExtract</package> - <package>perl-IO-Capture</package> - <package>perl-IO-Socket-SSL</package> - <package>perl-IO-stringy</package> - <package>perl-libapreq2</package> - <package>perl-Mail-Alias</package> - <package>perl-MailTools</package> - <package>perl-MIME-tools</package> - <package>perl-Net-SNMP</package> - <package>perl-Net_SSLeay</package> - <package>perl-Network-IPv4Addr</package> - <package>perl-NOCpulse-CLAC</package> - <package>perl-NOCpulse-Debug</package> - <package>perl-NOCpulse-Gritch</package> - <package>perl-NOCpulse-Object</package> - <package>perl-NOCpulse-OracleDB</package> - <package>perl-NOCpulse-PersistentConnection</package> - <package>perl-NOCpulse-Probe</package> - <package>perl-NOCpulse-ProcessPool</package> - <package>perl-NOCpulse-Scheduler</package> - <package>perl-NOCpulse-SetID</package> - <package>perl-NOCpulse-Utils</package> - <package>perl-Params-Validate</package> - <package>perl-TimeDate</package> - <package>perl-XML-Generator</package> - <package>ProgAGoGo</package> - <package>python-sgmlop</package> - <package>rhn-apache</package> - <package>rhn-base-minimal</package> - <package>rhn-modperl</package> - <package>rhn-modpython</package> - <package>rhn-modssl</package> - <package>rhns</package> - <package>rhns-auth-daemon</package> - <package>rhns-certs-tools</package> - <package>rhns-proxy-broker</package> - <package>rhns-proxy-docs</package> - <package>rhns-proxy-management</package> - <package>rhns-proxy-monitoring</package> - <package>rhns-proxy-package-manager</package> - <package>rhns-proxy-redirect</package> - <package>rhns-proxy-tools</package> - <package>rhn-ssl-cert-check</package> - <package>SatConfig-ApacheDepot</package> - <package>SatConfig-autokick</package> - <package>SatConfig-bootstrap</package> - <package>SatConfig-bootstrap-server</package> - <package>SatConfig-cluster</package> - <package>SatConfig-dbsynch</package> - <package>SatConfig-general</package> - <package>SatConfig-generator</package> - <package>SatConfig-installer</package> - <package>SatConfig-spread</package> - <package>scdb</package> - <package>scdb_accessor_perl</package> - <package>SNMPAlerts</package> - <package>SputLite-client</package> - <package>SputLite-server</package> - <package>ssl_bridge</package> - <package>status_log_acceptor</package> - <package>Time-System</package> - <package>tsdb</package> - <package>tsdb_accessor_perl</package> - <package>spacewalk-proxy-html</package> - <package>spacewalk-ssl-cert-check</package> - <package>spacewalk-proxy-common</package> - <package>spacewalk-proxy-installer</package> - <package>spacewalk-proxy-docs</package> - <package>spacewalk-proxy-monitoring</package> - <package>spacewalk-backend</package> - <package>spacewalk-proxy-package-manager</package> - <package>spacewalk-certs-tools</package> - <package>spacewalk-proxy-broker</package> - <package>spacewalk-proxy-management</package> - <package>spacewalk-base-minimal</package> - <package>spacewalk-proxy-redirect</package> - <package>nocpulse-common</package> - <package>nocpulse-db-perl</package> - <package>jabberd-selinux</package> - <package>rhn-proxy-branding</package> - <alias>proxy</alias> - </method-call> - </activity> - - <collect-data description="Enable Monitoring Proxy" - acl="org_entitlement(rhn_monitor); package_available(rhns-proxy-monitoring); global_config(satellite); global_config(is_monitoring_backend)"> - - <header> -Would you like to enable Monitoring Proxy functionality on this system? - </header> - - <rhn-form name="Enable Monitoring" label="enable_monitoring"> - <widget type="checkbox" name="Enable Monitoring?" label="enable_monitoring" default="1"/> - </rhn-form> - </collect-data> - - <collect-data description="Remove Conflicting Packages" acl="session_data_true(have_package_any_of_proxy)"> - <header> - The following packages conflict with the new installation and will be removed: - </header> - - <rhn-form name="Remove Conflicting Packages" label="remove_packages"> - <widget type="literal" label="bdb_perl" default="${session.have_package_bdb_perl}" acl="session_data_true(have_package_bdb_perl)" /> - <widget type="literal" label="ConfigPusher-general" default="${session.have_package_ConfigPusher_general}" acl="session_data_true(have_package_ConfigPusher_general)" /> - <widget type="literal" label="eventReceivers" default="${session.have_package_eventReceivers}" acl="session_data_true(have_package_eventReceivers)" /> - <widget type="literal" label="FcntlLock" default="${session.have_package_FcntlLock}" acl="session_data_true(have_package_FcntlLock)" /> - <widget type="literal" label="httpd" default="${session.have_package_httpd}" acl="session_data_true(have_package_httpd)" /> - <widget type="literal" label="httpd-suexec" default="${session.have_package_httpd_suexec}" acl="session_data_true(have_package_httpd_suexec)" /> - <widget type="literal" label="jabberd" default="${session.have_package_jabberd}" acl="session_data_true(have_package_jabberd)" /> - <widget type="literal" label="libapreq2" default="${session.have_package_libapreq2}" acl="session_data_true(have_package_libapreq2)" /> - <widget type="literal" label="libidn" default="${session.have_package_libidn}" acl="session_data_true(have_package_libidn)" /> - <widget type="literal" label="LongLegs" default="${session.have_package_LongLegs}" acl="session_data_true(have_package_LongLegs)" /> - <widget type="literal" label="MessageQueue" default="${session.have_package_MessageQueue}" acl="session_data_true(have_package_MessageQueue)" /> - <widget type="literal" label="mm" default="${session.have_package_mm}" acl="session_data_true(have_package_mm)" /> - <widget type="literal" label="mod_perl" default="${session.have_package_mod_perl}" acl="session_data_true(have_package_mod_perl)" /> - <widget type="literal" label="mod_python" default="${session.have_package_mod_python}" acl="session_data_true(have_package_mod_python)" /> - <widget type="literal" label="mod_ssl" default="${session.have_package_mod_ssl}" acl="session_data_true(have_package_mod_ssl)" /> - <widget type="literal" label="NOCpulsePlugins" default="${session.have_package_NOCpulsePlugins}" acl="session_data_true(have_package_NOCpulsePlugins)" /> - <widget type="literal" label="NPalert" default="${session.have_package_NPalert}" acl="session_data_true(have_package_NPalert)" /> - <widget type="literal" label="np-config" default="${session.have_package_np_config}" acl="session_data_true(have_package_np_config)" /> - <widget type="literal" label="NPusers" default="${session.have_package_NPusers}" acl="session_data_true(have_package_NPusers)" /> - <widget type="literal" label="nslogs" default="${session.have_package_nslogs}" acl="session_data_true(have_package_nslogs)" /> - <widget type="literal" label="oracle-devel" default="${session.have_package_oracle_devel}" acl="session_data_true(have_package_oracle_devel)" /> - <widget type="literal" label="oracle_perl" default="${session.have_package_oracle_perl}" acl="session_data_true(have_package_oracle_perl)" /> - <widget type="literal" label="perl-Apache-Admin-Config" default="${session.have_package_perl_Apache_Admin_Config}" acl="session_data_true(have_package_perl_Apache_Admin_Config)" /> - <widget type="literal" label="perl-Apache-DBI" default="${session.have_package_perl_Apache_DBI}" acl="session_data_true(have_package_perl_Apache_DBI)" /> - <widget type="literal" label="perl-BerkeleyDB" default="${session.have_package_perl_BerkeleyDB}" acl="session_data_true(have_package_perl_BerkeleyDB)" /> - <widget type="literal" label="perl-BSD-Resource" default="${session.have_package_perl_BSD_Resource}" acl="session_data_true(have_package_perl_BSD_Resource)" /> - <widget type="literal" label="perl-Class-MethodMaker" default="${session.have_package_perl_Class_MethodMaker}" acl="session_data_true(have_package_perl_Class_MethodMaker)" /> - <widget type="literal" label="perl-Class-Singleton" default="${session.have_package_perl_Class_Singleton}" acl="session_data_true(have_package_perl_Class_Singleton)" /> - <widget type="literal" label="perl-Config-IniFiles" default="${session.have_package_perl_Config_IniFiles}" acl="session_data_true(have_package_perl_Config_IniFiles)" /> - <widget type="literal" label="perl-Crypt-DES" default="${session.have_package_perl_Crypt_DES}" acl="session_data_true(have_package_perl_Crypt_DES)" /> - <widget type="literal" label="perl-Crypt-GeneratePassword" default="${session.have_package_perl_Crypt_GeneratePassword}" acl="session_data_true(have_package_perl_Crypt_GeneratePassword)" /> - <widget type="literal" label="perl-Crypt-SSLeay" default="${session.have_package_perl_Crypt_SSLeay}" acl="session_data_true(have_package_perl_Crypt_SSLeay)" /> - <widget type="literal" label="perl-DateTime" default="${session.have_package_perl_DateTime}" acl="session_data_true(have_package_perl_DateTime)" /> - <widget type="literal" label="perl-DateTime-Locale" default="${session.have_package_perl_DateTime_Locale}" acl="session_data_true(have_package_perl_DateTime_Locale)" /> - <widget type="literal" label="perl-DateTime-TimeZone" default="${session.have_package_perl_DateTime_TimeZone}" acl="session_data_true(have_package_perl_DateTime_TimeZone)" /> - <widget type="literal" label="perl-DBD-Oracle" default="${session.have_package_perl_DBD_Oracle}" acl="session_data_true(have_package_perl_DBD_Oracle)" /> - <widget type="literal" label="perl-Devel-Symdump" default="${session.have_package_perl_Devel_Symdump}" acl="session_data_true(have_package_perl_Devel_Symdump)" /> - <widget type="literal" label="perl-Error" default="${session.have_package_perl_Error}" acl="session_data_true(have_package_perl_Error)" /> - <widget type="literal" label="perl-FreezeThaw" default="${session.have_package_perl_FreezeThaw}" acl="session_data_true(have_package_perl_FreezeThaw)" /> - <widget type="literal" label="perl-HTML-TableExtract" default="${session.have_package_perl_HTML_TableExtract}" acl="session_data_true(have_package_perl_HTML_TableExtract)" /> - <widget type="literal" label="perl-IO-Capture" default="${session.have_package_perl_IO_Capture}" acl="session_data_true(have_package_perl_IO_Capture)" /> - <widget type="literal" label="perl-IO-Socket-SSL" default="${session.have_package_perl_IO_Socket_SSL}" acl="session_data_true(have_package_perl_IO_Socket_SSL)" /> - <widget type="literal" label="perl-IO-stringy" default="${session.have_package_perl_IO_stringy}" acl="session_data_true(have_package_perl_IO_stringy)" /> - <widget type="literal" label="perl-libapreq2" default="${session.have_package_perl_libapreq2}" acl="session_data_true(have_package_perl_libapreq2)" /> - <widget type="literal" label="perl-Mail-Alias" default="${session.have_package_perl_Mail_Alias}" acl="session_data_true(have_package_perl_Mail_Alias)" /> - <widget type="literal" label="perl-MailTools" default="${session.have_package_perl_MailTools}" acl="session_data_true(have_package_perl_MailTools)" /> - <widget type="literal" label="perl-MIME-tools" default="${session.have_package_perl_MIME_tools}" acl="session_data_true(have_package_perl_MIME_tools)" /> - <widget type="literal" label="perl-Net-SNMP" default="${session.have_package_perl_Net_SNMP}" acl="session_data_true(have_package_perl_Net_SNMP)" /> - <widget type="literal" label="perl-Net_SSLeay" default="${session.have_package_perl_Net_SSLeay}" acl="session_data_true(have_package_perl_Net_SSLeay)" /> - <widget type="literal" label="perl-Network-IPv4Addr" default="${session.have_package_perl_Network_IPv4Addr}" acl="session_data_true(have_package_perl_Network_IPv4Addr)" /> - <widget type="literal" label="perl-NOCpulse-CLAC" default="${session.have_package_perl_NOCpulse_CLAC}" acl="session_data_true(have_package_perl_NOCpulse_CLAC)" /> - <widget type="literal" label="perl-NOCpulse-Debug" default="${session.have_package_perl_NOCpulse_Debug}" acl="session_data_true(have_package_perl_NOCpulse_Debug)" /> - <widget type="literal" label="perl-NOCpulse-Gritch" default="${session.have_package_perl_NOCpulse_Gritch}" acl="session_data_true(have_package_perl_NOCpulse_Gritch)" /> - <widget type="literal" label="perl-NOCpulse-Object" default="${session.have_package_perl_NOCpulse_Object}" acl="session_data_true(have_package_perl_NOCpulse_Object)" /> - <widget type="literal" label="perl-NOCpulse-OracleDB" default="${session.have_package_perl_NOCpulse_OracleDB}" acl="session_data_true(have_package_perl_NOCpulse_OracleDB)" /> - <widget type="literal" label="perl-NOCpulse-PersistentConnection" default="${session.have_package_perl_NOCpulse_PersistentConnection}" acl="session_data_true(have_package_perl_NOCpulse_PersistentConnection)" /> - <widget type="literal" label="perl-NOCpulse-Probe" default="${session.have_package_perl_NOCpulse_Probe}" acl="session_data_true(have_package_perl_NOCpulse_Probe)" /> - <widget type="literal" label="perl-NOCpulse-ProcessPool" default="${session.have_package_perl_NOCpulse_ProcessPool}" acl="session_data_true(have_package_perl_NOCpulse_ProcessPool)" /> - <widget type="literal" label="perl-NOCpulse-Scheduler" default="${session.have_package_perl_NOCpulse_Scheduler}" acl="session_data_true(have_package_perl_NOCpulse_Scheduler)" /> - <widget type="literal" label="perl-NOCpulse-SetID" default="${session.have_package_perl_NOCpulse_SetID}" acl="session_data_true(have_package_perl_NOCpulse_SetID)" /> - <widget type="literal" label="perl-NOCpulse-Utils" default="${session.have_package_perl_NOCpulse_Utils}" acl="session_data_true(have_package_perl_NOCpulse_Utils)" /> - <widget type="literal" label="perl-Params-Validate" default="${session.have_package_perl_Params_Validate}" acl="session_data_true(have_package_perl_Params_Validate)" /> - <widget type="literal" label="perl-TimeDate" default="${session.have_package_perl_TimeDate}" acl="session_data_true(have_package_perl_TimeDate)" /> - <widget type="literal" label="perl-XML-Generator" default="${session.have_package_perl_XML_Generator}" acl="session_data_true(have_package_perl_XML_Generator)" /> - <widget type="literal" label="ProgAGoGo" default="${session.have_package_ProgAGoGo}" acl="session_data_true(have_package_ProgAGoGo)" /> - <widget type="literal" label="python-sgmlop" default="${session.have_package_python_sgmlop}" acl="session_data_true(have_package_python_sgmlop)" /> - <widget type="literal" label="rhn-apache" default="${session.have_package_rhn_apache}" acl="session_data_true(have_package_rhn_apache)" /> - <widget type="literal" label="rhn-base-minimal" default="${session.have_package_rhn_base_minimal}" acl="session_data_true(have_package_rhn_base_minimal)" /> - <widget type="literal" label="rhn-modperl" default="${session.have_package_rhn_modperl}" acl="session_data_true(have_package_rhn_modperl)" /> - <widget type="literal" label="rhn-modpython" default="${session.have_package_rhn_modpython}" acl="session_data_true(have_package_rhn_modpython)" /> - <widget type="literal" label="rhn-modssl" default="${session.have_package_rhn_modssl}" acl="session_data_true(have_package_rhn_modssl)" /> - <widget type="literal" label="rhns" default="${session.have_package_rhns}" acl="session_data_true(have_package_rhns)" /> - <widget type="literal" label="rhns-auth-daemon" default="${session.have_package_rhns_auth_daemon}" acl="session_data_true(have_package_rhns_auth_daemon)" /> - <widget type="literal" label="rhns-certs-tools" default="${session.have_package_rhns_certs_tools}" acl="session_data_true(have_package_rhns_certs_tools)" /> - <widget type="literal" label="rhns-proxy-broker" default="${session.have_package_rhns_proxy_broker}" acl="session_data_true(have_package_rhns_proxy_broker)" /> - <widget type="literal" label="rhns-proxy-docs" default="${session.have_package_rhns_proxy_docs}" acl="session_data_true(have_package_rhns_proxy_docs)" /> - <widget type="literal" label="rhns-proxy-management" default="${session.have_package_rhns_proxy_management}" acl="session_data_true(have_package_rhns_proxy_management)" /> - <widget type="literal" label="rhns-proxy-monitoring" default="${session.have_package_rhns_proxy_monitoring}" acl="session_data_true(have_package_rhns_proxy_monitoring)" /> - <widget type="literal" label="rhns-proxy-package-manager" default="${session.have_package_rhns_proxy_package_manager}" acl="session_data_true(have_package_rhns_proxy_package_manager)" /> - <widget type="literal" label="rhns-proxy-redirect" default="${session.have_package_rhns_proxy_redirect}" acl="session_data_true(have_package_rhns_proxy_redirect)" /> - <widget type="literal" label="rhns-proxy-tools" default="${session.have_package_rhns_proxy_tools}" acl="session_data_true(have_package_rhns_proxy_tools)" /> - <widget type="literal" label="rhn-ssl-cert-check" default="${session.have_package_rhn_ssl_cert_check}" acl="session_data_true(have_package_rhn_ssl_cert_check)" /> - <widget type="literal" label="SatConfig-ApacheDepot" default="${session.have_package_SatConfig_ApacheDepot}" acl="session_data_true(have_package_SatConfig_ApacheDepot)" /> - <widget type="literal" label="SatConfig-autokick" default="${session.have_package_SatConfig_autokick}" acl="session_data_true(have_package_SatConfig_autokick)" /> - <widget type="literal" label="SatConfig-bootstrap" default="${session.have_package_SatConfig_bootstrap}" acl="session_data_true(have_package_SatConfig_bootstrap)" /> - <widget type="literal" label="SatConfig-bootstrap-server" default="${session.have_package_SatConfig_bootstrap_server}" acl="session_data_true(have_package_SatConfig_bootstrap_server)" /> - <widget type="literal" label="SatConfig-cluster" default="${session.have_package_SatConfig_cluster}" acl="session_data_true(have_package_SatConfig_cluster)" /> - <widget type="literal" label="SatConfig-dbsynch" default="${session.have_package_SatConfig_dbsynch}" acl="session_data_true(have_package_SatConfig_dbsynch)" /> - <widget type="literal" label="SatConfig-general" default="${session.have_package_SatConfig_general}" acl="session_data_true(have_package_SatConfig_general)" /> - <widget type="literal" label="SatConfig-generator" default="${session.have_package_SatConfig_generator}" acl="session_data_true(have_package_SatConfig_generator)" /> - <widget type="literal" label="SatConfig-installer" default="${session.have_package_SatConfig_installer}" acl="session_data_true(have_package_SatConfig_installer)" /> - <widget type="literal" label="SatConfig-spread" default="${session.have_package_SatConfig_spread}" acl="session_data_true(have_package_SatConfig_spread)" /> - <widget type="literal" label="scdb" default="${session.have_package_scdb}" acl="session_data_true(have_package_scdb)" /> - <widget type="literal" label="scdb_accessor_perl" default="${session.have_package_scdb_accessor_perl}" acl="session_data_true(have_package_scdb_accessor_perl)" /> - <widget type="literal" label="SNMPAlerts" default="${session.have_package_SNMPAlerts}" acl="session_data_true(have_package_SNMPAlerts)" /> - <widget type="literal" label="SputLite-client" default="${session.have_package_SputLite_client}" acl="session_data_true(have_package_SputLite_client)" /> - <widget type="literal" label="SputLite-server" default="${session.have_package_SputLite_server}" acl="session_data_true(have_package_SputLite_server)" /> - <widget type="literal" label="ssl_bridge" default="${session.have_package_ssl_bridge}" acl="session_data_true(have_package_ssl_bridge)" /> - <widget type="literal" label="status_log_acceptor" default="${session.have_package_status_log_acceptor}" acl="session_data_true(have_package_status_log_acceptor)" /> - <widget type="literal" label="Time-System" default="${session.have_package_Time_System}" acl="session_data_true(have_package_Time_System)" /> - <widget type="literal" label="tsdb" default="${session.have_package_tsdb}" acl="session_data_true(have_package_tsdb)" /> - <widget type="literal" label="tsdb_accessor_perl" default="${session.have_package_tsdb_accessor_perl}" acl="session_data_true(have_package_tsdb_accessor_perl)" /> - </rhn-form> - </collect-data> - - <collect-data description="Configure ${app.name} Server"> - - <header> -<p> - Configure your ${app.name} Server below. The Administrator Email - Address is the address to which system status messages are sent. For - the ${app.name} Server to function properly, the ${app.name} Hostname - must be set to the system's fully qualified domain name. -</p> - -<p> - The Satellite Parent Server is the hostname of the server this Proxy - connects to. Depending on your configuration, it could be the - central Satellite Servers, your organization's Satellite Server, or - another ${app.name} Server. If this ${app.name} will be connecting - through an HTTP proxy, populate the related fields. -</p> - -<p> - If you choose to enable Secure Sockets Layer (SSL), this Satellite Proxy - will use SSL to connect to the Satellite Parent Server. Regardless of - whether you enable SSL for the connection to the Satellite Parent Server, - you will be prompted to generate an SSL certificate on the next page. - This SSL certificate will allow client systems to connect to this - ${app.name} securely. Refer to the RHN Proxy Installation Guide for - more information. -</p> -<p> - When using an HTTP Proxy Server, use the format "servername:port" to specify the server. For example: "proxy-server.corp.com:8888". -</p> - </header> - - <rhn-form name="Configure Proxy" label="configure_proxy"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - <widget type="text" name="Administrator Email Address" label="traceback_mail" size="40" default="${user.email}"> - <require valid-email="1" /> - </widget> - <widget type="text" name="${app.name} Hostname" label="hostname" size="40" default="${system.guess_hostname}"> - <require response="1"/> - <require fqdn="1"/> - <filter type="text" /> - </widget> - <widget type="text" name="Satellite Parent Server" label="rhn_parent" size="40" default="${system.guess_rhn_parent}"> - <require response="1"/> - <require fqdn="1"/> - <filter type="text" /> - </widget> - <widget type="text" name="HTTP Proxy Server" label="http_proxy" size="30"> - <filter type="text" /> - <require fqdn-and-port="1"/> - </widget> - <widget type="text" name="HTTP Proxy Username" label="http_proxy_username" size="10"> - <filter type="text" /> - </widget> - <widget type="text" name="HTTP Proxy Password" label="http_proxy_password" size="10"> - <filter type="text" /> - </widget> - <widget type="checkbox" name="Enable SSL?" label="enable_ssl" default="1" checked="1" - acl="global_config(ssl_available) or not global_config(satellite)"/> - <widget type="literal" label="SSL" default="SSL is not enabled on this Satellite." - acl="global_config(satellite); not global_config(ssl_available)"/> - <widget type="checkbox" name="Enable Push?" label="enable_osad" default="1" checked="1" - acl="global_config(satellite); global_config(ssl_available)"/> - </rhn-form> - - </collect-data> - - <collect-data description="Configure SSL" acl="global_config(ssl_available); global_config(satellite)"> - <header> - Enter your CA cert password and other SSL configuration - information here. This information will be used to generate - the server certificate used by the proxy server to communicate - via SSL. - </header> - - <rhn-form name="Configure SSL" label="configure_ssl"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - - <widget type="password" name="CA Cert Password" label="ca_cert_password" size="15"> - <require max-length="128"/> - <require response="1"/> - </widget> - - <widget type="text" name="Organization" label="org" size="24"> - <require max-length="128"/> - <require response="1"/> - </widget> - - <widget type="text" name="Organizational Unit" label="org-unit" size="24"> - <require max-length="128"/> - </widget> - - <widget type="text" name="Email Address" label="email" size="40" default="${session.traceback_mail}"> - <require max-length="128"/> - <require response="1"/> - </widget> - - <widget type="text" name="City" label="city" size="16"> - <require max-length="128"/> - <require response="1"/> - </widget> - - <widget type="text" name="State" label="state" size="16"> - <require max-length="128"/> - <require response="1"/> - </widget> - - <widget type="select" name="Country" label="country" size="1" default="US" populate_options="RHN::SatInstall->valid_cert_countries"> - <require response="1"/> - </widget> - - <widget type="text" name="Server cert Expiration (years)" label="cert-expiration" size="3" default="5"> - <require max-length="3"/> - <require response="1"/> - </widget> - - <widget type="hidden" label="use_ssl" default="1" /> - </rhn-form> - </collect-data> - - <collect-data description="Skip SSL Configuration" - acl="not global_config(ssl_available); global_config(satellite)"> - <header> - You do not have SSL enabled for your Satellite Server. - Therefore, SSL will not be available for this Satellite Proxy. SSL - is a critical part of the security model of Satellite. If you wish - to configure SSL at a later time, see the Satellite - Installation Guide. - </header> - - <rhn-form name="Configure SSL" label="configure_ssl"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - <widget type="hidden" label="ca_chain" default="/usr/share/rhn/RHNS-CA-CERT" /> - </rhn-form> - </collect-data> - - <collect-data description="Configure SSL" acl="not global_config(satellite)"> - <header> - In order to configure SSL on your ${app.name}, you will need - to generate a CA certificate and an SSL key pair. See the - <a href="/help/proxy/s1-quickstart-install-config.html">RHN Proxy - Installation Guide </a> for more details. After you have - generated the SSL key, you will need to upload the resulting - tar file containing the certificate files using the form - below. If the SSL CA certificate included in the tar file does - not already exist in your org's <a - href="/network/keys/key_list.pxt" target="_new">list of SSL - keys</a>, it will be added to that list. - </header> - - <rhn-form name="Configure SSL" label="configure_ssl"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - <widget type="file" name="SSL key files (tar)" label="ssl_key_tar"> - <require response="1"/> - </widget> - <widget type="hidden" label="use_ssl" default="1" /> - </rhn-form> - </collect-data> - - <activity description="Lookup Parent IP Address" - acl="session_data_true(enable_monitoring)"> - <method-call class="RHN::ProxyInstall" method="load_ip_address" /> - </activity> - - <collect-data description="Configure Satellite Monitoring Proxy" acl="session_data_true(enable_monitoring)"> - - <header> - Configure the Monitoring aspects of your ${app.name} below. - </header> - - <rhn-form name="Configure Monitoring Proxy" label="configure_monitoring_proxy"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - <widget type="text" name="Satellite Parent Server Hostname" label="rhn_monitoring_parent" size="40" default="${session.rhn_parent}"> - <require response="1"/> - <require fqdn="1"/> - <filter type="text" /> - </widget> - <widget type="text" name="Satellite Parent Server IP Address" label="rhn_monitoring_parent_ip" size="15" default="${session.rhn_parent_ip}"> - <require response="1"/> - <require valid-ip="1"/> - <filter type="text" /> - </widget> - <widget type="hidden" label="enable_monitoring_scout" default="1"/> - </rhn-form> - - </collect-data> - - <activity description="Provisioning entitle system"> - <set-system-entitlement>provisioning_entitled</set-system-entitlement> - </activity> - - <activity description="Create ${app.name} Config Channel for system"> - <create-config-channel> - <org-id>${user.org_id}</org-id> - <type>normal</type> - <name>${app.name} Config Channel for ${system.name}</name> - <label>rhn_proxy_config_${system.id}</label> - <description>This config channel is for the ${app.name} application running on ${system.name} (${system.id})</description> - </create-config-channel> - </activity> - - <activity description="Subscribe to ${app.name} Config Channel"> - <subscribe-system-to-config-channel channel-label="rhn_proxy_config_${system.id}" order="first"/> - </activity> - - <activity description="Import SSL server cert into Config Channel" - acl="not global_config(satellite)"> - <method-call class="RHN::ProxyInstall" method="import_ssl_cert"> - <target-config-channel>rhn_proxy_config_${system.id}</target-config-channel> - <cert-tar>${session.ssl_key_tar}</cert-tar> - </method-call> - </activity> - - <activity description="Generate SSL server cert" acl="global_config(ssl_available);global_config(satellite)"> - <method-call class="RHN::ProxyInstall" method="generate_ssl_cert"> - <hostname>${session.hostname}</hostname> - <ca-cert-password>${session.ca_cert_password}</ca-cert-password> - <org>${session.org}</org> - <org-unit>${session.org-unit}</org-unit> - <email>${session.email}</email> - <city>${session.city}</city> - <state>${session.state}</state> - <country>${session.country}</country> - <cert-expiration>${session.cert-expiration}</cert-expiration> - <target-config-channel>rhn_proxy_config_${system.id}</target-config-channel> - </method-call> - </activity> - - <activity description="Create SatCluster record for Satellite Monitoring Proxy" acl="session_data_true(enable_monitoring)"> - <method-call class="RHN::ProxyInstall" method="create_sat_cluster_record"> - <customer-id>${user.org_id}</customer-id> - <description>${app.name} ${system.name} (${system.id})</description> - <last-update-user>installer</last-update-user> - </method-call> - </activity> - - <activity description="Generate /etc/rhn/rhn.conf config file"> - <generate-config-file target-config-channel="rhn_proxy_config_${system.id}" path="/etc/rhn/rhn.conf" - template="rhn.conf" mode="640" username="root" groupname="apache"/> - </activity> - - <activity description="Generate /etc/rhn/cluster.ini config file" acl="session_data_true(enable_monitoring)"> - <generate-config-file target-config-channel="rhn_proxy_config_${system.id}" path="/etc/rhn/cluster.ini" - template="cluster.ini" mode="644" username="root" groupname="root"/> - </activity> - - <activity description="Generate /etc/squid/squid.conf config file"> - <generate-config-file target-config-channel="rhn_proxy_config_${system.id}" path="/etc/squid/squid.conf" - template="squid.conf" mode="755"/> - </activity> - - <activity description="Generate /etc/httpd/conf/httpd.conf config file"> - <generate-config-file target-config-channel="rhn_proxy_config_${system.id}" path="/etc/httpd/conf/httpd.conf" - template="httpd/httpd.conf" mode="444"/> - </activity> - - <activity description="Generate /etc/httpd/conf/rhn_proxy.conf config file"> - <generate-config-file target-config-channel="rhn_proxy_config_${system.id}" path="/etc/httpd/conf/rhn_proxy.conf" - template="httpd/rhn_proxy.conf" mode="640" username="root" groupname="apache"/> - </activity> - - <activity description="Generate /etc/jabberd/c2s.xml config file" - acl="global_config(ssl_available);session_data_true(enable_osad)"> - <generate-config-file target-config-channel="rhn_proxy_config_${system.id}" path="/etc/jabberd/c2s.xml" - template="jabberd/c2s.xml" mode="644" username="root" groupname="root"/> - </activity> - - <activity description="Generate /etc/jabberd/sm.xml config file" - acl="global_config(ssl_available);session_data_true(enable_osad)"> - <generate-config-file target-config-channel="rhn_proxy_config_${system.id}" path="/etc/jabberd/sm.xml" - template="jabberd/sm.xml" mode="644" username="root" groupname="root"/> - </activity> - - <activity description="Activate the ${app.name}"> - <method-call class="RHN::ProxyInstall" method="activate_proxy"> - <version>${app.version}</version> - </method-call> - </activity> - - <schedule-actions description="Schedule ${app.name} install"> - <remove-packages> - <rpm>python-xmlrpc</rpm> - </remove-packages> - - <run-script acl="session_data_true(have_package_any_of_proxy)"> - <action-name>Remove conflicting proxy packages</action-name> - <script> -#!/bin/sh -rpm -e `for package in ${session.packages_list_proxy}; do -rpm -q $package >/dev/null && echo $package; done` - </script> - </run-script> - - <install-packages acl="not session_data_true(have_package_any_of_proxy)"> - <rpm>rhns-proxy-management</rpm> - <rpm acl="session_data_true(enable_monitoring)">rhns-proxy-monitoring</rpm> - </install-packages> - - <install-packages acl="session_data_true(have_package_any_of_proxy)"> - <force>1</force> - <rpm>rhns-proxy-management</rpm> - <rpm acl="session_data_true(enable_monitoring)">rhns-proxy-monitoring</rpm> - </install-packages> - - - <deploy-configs> - <action-name>Deploy Configuration</action-name> - <configfile>/etc/rhn/rhn.conf</configfile> - <configfile acl="session_data_true(enable_monitoring)">/etc/rhn/cluster.ini</configfile> - <configfile>/etc/squid/squid.conf</configfile> - <configfile>/etc/httpd/conf/httpd.conf</configfile> - <configfile>/etc/httpd/conf/rhn_proxy.conf</configfile> - <configfile acl="global_config(ssl_available) or not global_config(satellite)">/etc/httpd/conf/ssl.crt/server.crt</configfile> - <configfile acl="global_config(ssl_available) or not global_config(satellite)">/etc/httpd/conf/ssl.csr/server.csr</configfile> - <configfile acl="global_config(ssl_available) or not global_config(satellite)">/etc/httpd/conf/ssl.key/server.key</configfile> - <configfile acl="session_data_true(org_ssl_cert)">/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT</configfile> - <configfile acl="global_config(ssl_available) or not global_config(satellite)">/var/www/html/pub/RHN-ORG-TRUSTED-SSL-CERT</configfile> - <configfile acl="session_data_true(ca_rpm)">${session.ca_rpm}</configfile> - <configfile acl="global_config(ssl_available);session_data_true(enable_osad)">/etc/jabberd/server.pem</configfile> - <configfile acl="global_config(ssl_available);session_data_true(enable_osad)">/etc/jabberd/c2s.xml</configfile> - <configfile acl="global_config(ssl_available);session_data_true(enable_osad)">/etc/jabberd/sm.xml</configfile> - </deploy-configs> - - <run-script acl="session_data_true(enable_monitoring)"> - <action-name>Enable Monitoring Services</action-name> - <script> -#!/bin/sh - -/etc/rc.d/np.d/step MonitoringScout install - </script> - </run-script> - - <run-script> - <action-name>Allow Proxy service to read Satellite Configuration</action-name> - <script> -#!/bin/sh -chown root.apache /etc/sysconfig/rhn/systemid -chmod 640 /etc/sysconfig/rhn/systemid - </script> - </run-script> - - <restart-services> - <action-name>Start ${app.name}</action-name> - <service>rhn-proxy</service> - </restart-services> - </schedule-actions> - - <redirect save-session="1">/network/systems/details/proxy/install_progress.pxt?sid=${system.id}&version=${app.version}</redirect> - - </install> - - <install-progress acl="action_pending_named(Start Satellite Proxy) or last_action_attempt_failed(Start Satellite Proxy)"> - - <action-status description="Install progress"> - <header> -You are installing ${app.name} on this system. Below is the list of actions for this installation. - </header> - - <inprogress> - Once these actions are complete, your ${app.name} should be available for use. - </inprogress> - - <complete> - The installation is complete. - </complete> - - <failed> - The installation has failed. Click on the failed action for - more details, resolve the error that prevented installation, - and -<a href="/network/systems/details/proxy/index.pxt?sid=${system.id}&version=${app.version}">try your installation again</a>. - Or, you can -<a href="/network/systems/details/proxy.pxt?sid=${system.id}&pxt_trap=rhn:cancel_scheduled_proxy_install_cb">cancel this installation process</a>. - </failed> - - <target-action name="Start ${app.name}" show-chain="1"/> - </action-status> - - </install-progress> - - <configure> - <activity description="Create ${app.name} Config Channel for system if does not already exist"> - <create-config-channel> - <org-id>${user.org_id}</org-id> - <type>normal</type> - <name>${app.name} Config Channel for ${system.name}</name> - <label>rhn_proxy_config_${system.id}</label> - <description>This config channel is for the ${app.name} application running on ${system.name} (${system.id})</description> - </create-config-channel> - </activity> - - <activity description="Subscribe to ${app.name} Config Channel"> - <subscribe-system-to-config-channel channel-label="rhn_proxy_config_${system.id}" order="first"/> - </activity> - - <activity description="Generate /etc/rhn/rhn.conf config file"> - <generate-config-file target-config-channel="rhn_proxy_config_${system.id}" path="/etc/rhn/rhn.conf" - template="rhn.conf" mode="640" username="root" groupname="apache" new_only="1"/> - </activity> - - - <activity description="Load current configuration"> - <method-call class="RHN::ProxyInstall" method="load_configfile_into_session"> - <target-config-channel>rhn_proxy_config_${system.id}</target-config-channel> - <target-config-file>/etc/rhn/rhn.conf</target-config-file> - </method-call> - </activity> - - <collect-data description="Configure ${app.name}"> - - <header> -<p> -Configure your ${app.name} below. The Administrator Email Address is -the address to which system status e-mail will be sent. Please note -that if you have modified the configuration locally on the proxy -without importing those changes into the Proxy Config Channel for this -system, this action will overwrite those changes. -</p> -<p> -Also, configuration changes here will not update the configuration for -the up2date client. Only the ${app.name} application will be -configured. For instance, if you want this system to connect through -an HTTP proxy, you will need to configure the ${app.name} software -here, and configure the up2date client separately. -</p> -<p> - When using an HTTP Proxy Server, use the format "servername:port" to specify the server. For example: "proxy-server.corp.com:8888". -</p> - </header> - - <rhn-form name="Configure Proxy" label="configure_proxy"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - <widget type="text" name="Administrator Email Address" label="traceback_mail" size="40" default="${session.traceback_mail}"> - <require valid-email="1" /> - </widget> - <widget type="text" name="HTTP Proxy Server" label="proxy.http_proxy" size="30" default="${session.proxy.http_proxy}"> - <filter type="text" /> - </widget> - <widget type="text" name="HTTP Proxy Username" label="proxy.http_proxy_username" size="10" default="${session.proxy.http_proxy_username}"> - <filter type="text" /> - </widget> - <widget type="text" name="HTTP Proxy Password" label="proxy.http_proxy_password" size="10" default="${session.proxy.http_proxy_password}"> - <filter type="text" /> - </widget> - </rhn-form> - - </collect-data> - - <activity description="Update ${app.name} Configuration"> - <method-call class="RHN::ProxyInstall" method="update_configfile_from_session"> - <target-config-channel>rhn_proxy_config_${system.id}</target-config-channel> - <target-config-file>/etc/rhn/rhn.conf</target-config-file> - </method-call> - </activity> - - <schedule-actions description="Schedule ${app.name} install"> - - <deploy-configs> - <configfile>/etc/rhn/rhn.conf</configfile> - </deploy-configs> - - <restart-services> - <action-name>Start ${app.name}</action-name> - <service>rhn-proxy</service> - </restart-services> - - </schedule-actions> - - <collect-data description="Configuration update scheduled" no-cancel="1"> - <header> -Reconfiguration actions for ${app.name} ${app.version} have been scheduled. - </header> - - <rhn-form name="Installation Complete" label="install_complete"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - <widget type="hidden" label="continue_redir" default="/rhn/systems/details/Overview.do" /> - </rhn-form> - - </collect-data> - - </configure> - - <remove> - - <collect-data description="Deactivate ${app.name}"> - - <header> -You can deactivate your ${app.name}. The ${app.name} services on the system -will be stopped, and it will not show up as a Proxy in the Satellite web -interface. The packages set and configuration of the system will not -otherwise be affected. Systems that connect to Satellite through this -proxy will need to be reconfigured to use a different Satellite server. - </header> - - <rhn-form name="Deactivate Proxy" label="deactivate_proxy"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - <widget type="checkbox" name="Remove Packages" label="remove_packages" default="1" checked="1" /> - </rhn-form> - - </collect-data> - - <activity description="Deactivate ${app.name} in local configuration"> - <method-call class="RHN::ProxyInstall" method="deactivate_proxy"/> - </activity> - - <schedule-actions description="Deactivate ${app.name}"> - - <stop-services> - <action-name>Stop ${app.name} Services</action-name> - <service>rhn-proxy</service> - </stop-services> - - <run-script acl="session_data_true(remove_packages)"> - <action-name>Remove proxy packages</action-name> - <script> -#!/bin/sh -rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd jabberd libidn LongLegs MessageQueue mm NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-apache rhn-base-minimal rhn-modperl rhn-modpython rhn-modssl rhns rhns rhns-auth-daemon rhns-auth-daemon rhns-certs-tools rhns-certs-tools rhns-proxy-broker rhns-proxy-broker rhns-proxy-docs rhns-proxy-docs rhns-proxy-management rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-redirect rhns-proxy-tools rhns-proxy-tools SatConfig-ApacheDepot SatConfig-autokick SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl; do -rpm -q $package >/dev/null && echo $package; done` - </script> - </run-script> - - </schedule-actions> - - <collect-data description="Proxy deactivation scheduled" no-cancel="1"> - <header> -A deactivation for ${app.name} ${app.version} on ${system.name} has been scheduled. - </header> - - <rhn-form name="Deactivation Complete" label="deactivation_complete"> - <widget type="literal" label="Product" default="${app.name}" /> - <widget type="literal" label="Version" default="${app.version}" /> - <widget type="literal" name="Remove Packages" label="Remove Packages Yes" default="Yes" acl="session_data_true(remove_packages)"/> - <widget type="literal" name="Remove Packages" label="Remove Packages No" default="No" acl="not session_data_true(remove_packages)"/> - <widget type="hidden" label="continue_redir" default="/rhn/systems/details/Overview.do" /> - </rhn-form> - </collect-data> - - </remove> - -</application> diff --git a/web/html/applications/rhn-proxy/3.7/jabberd/c2s.xml b/web/html/applications/rhn-proxy/3.7/jabberd/c2s.xml deleted file mode 100644 index c070324..0000000 --- a/web/html/applications/rhn-proxy/3.7/jabberd/c2s.xml +++ /dev/null @@ -1,347 +0,0 @@ -<!-- c2s configuration --> -<c2s> - <!-- Our ID on the network (default: c2s) --> - <id>c2s</id> - - <!-- The process ID file. comment this out if you don't need to know - to know the process ID from outside the process (eg for control - scripts) --> - <pidfile>/var/run/jabberd-c2s.pid</pidfile> - - <!-- Router connection configuration --> - <router> - <!-- IP/port the router is waiting for connections on --> - <ip>127.0.0.1</ip> <!-- default: 127.0.0.1 --> - <port>5347</port> <!-- default: 5347 --> - - <!-- Username/password to authenticate as --> - <user>jabberd</user> <!-- default: jabberd --> - <pass>secret</pass> <!-- default: secret --> - - <!-- File containing a SSL certificate and private key to use when - setting up an encrypted channel with the router. If this is - commented out, or the file can't be read, no attempt will be - made to establish an encrypted channel with the router. --> - - <pemfile>/etc/jabberd/server.pem</pemfile> - - <!-- Router connection retry --> - <retry> - <!-- If the connection to the router can't be established at - startup, we should try again this many times before exiting. - Use -1 to retry indefinitely. [default: 3] --> - <init>3</init> - - <!-- If we lost the connection to the router during normal - operation (ie we've successfully connected to the router in - the past), we should try to reconnect this many times before - exiting. Use -1 to retry indefinitely. [default: 3] --> - <lost>3</lost> - - <!-- Sleep for this many seconds before trying attempting a - reconnect. [default: 2] --> - <sleep>2</sleep> - </retry> - </router> - - <!-- Log configuration - type is "syslog", "file" or "stdout" --> - <log type='syslog'> - <!-- If logging to syslog, this is the log ident --> - <ident>jabberd/c2s</ident> - - <!-- If logging to syslog, this is the log facility - (local0 - local7) [default: local3] --> - <facility>local3</facility> - - <!-- If logging to file, this is the filename of the logfile --> - <!-- - <file>/var/log/jabberd/c2s.log</file> - --> - </log> - - <!-- Local network configuration --> - <local> - <!-- Who we identify ourselves as. This should correspond to the - ID (host) that the session manager thinks it is. You can - specify more than one to support virtual hosts, as long as you - have additional session manager instances on the network to - handle those hosts. The realm attribute specifies the auth/reg - or SASL authentication realm for the host. If the attribute is - not specified, the realm will be selected by the SASL - mechanism, or will be the same as the ID itself. Be aware that - users are assigned to a realm, not a host, so two hosts in the - same realm will have the same users. - If no realm is specified, it will be set to be the same as the - ID. --> - <id>${session.hostname}</id> - <!-- <id realm='company'>localhost</id> --> - - <!-- IP address to bind to (default: 0.0.0.0) --> - <ip>0.0.0.0</ip> - - <!-- Port to bind to, or 0 to disable unencrypted access to the - server (default: 5222) --> - <port>5222</port> - - <!-- File containing a SSL certificate and private key for client - connections. If this is commented out, clients will not be - offered the STARTTLS stream extension --> - <pemfile>/etc/jabberd/server.pem</pemfile> - - <!-- Require STARTTLS. If this is enabled, clients must do STARTTLS - before they can authenticate. Until the stream is encrypted, - all packets will be dropped. --> - <!-- - <require-starttls/> - --> - - <!-- Older versions of jabberd support encrypted client connections - via an additional listening socket on port 5223. If you want - this (required to allow pre-STARTTLS clients to do SSL), - uncomment this --> - <!-- - <ssl-port>5223</ssl-port> - --> - </local> - - <!-- Input/output settings --> - <io> - <!-- Maximum number of file descriptors. Note that the number of - possible connections will be slightly less than this, because - c2s itself can use up five on its own, and auth/reg modules may - need a few also. If the supply of file descriptors is - exhausted, new incoming connections will be denied. - (default: 1024) --> - <max_fds>1024</max_fds> - - <!-- Rate limiting --> - <limits> - <!-- Maximum bytes per second - if more than X bytes are sent in Y - seconds, connection is throttled for Z seconds. The format - is: - - <bytes seconds='Y' throttle='Z'>X</bytes> - - Default Y is 1, default Z is 5. set X to 0 to disable. --> - <bytes>0</bytes> - - <!-- Maximum connects per second - if more than X connects are - attempted from a single IP in Y seconds, that IP is throttled - for Z seconds. The format is: - - <connects seconds='Y' throttle='Z'>X</connects> - - Default Y is 5, default Z is 5. set X to 0 to disable. --> - <connects>0</connects> - </limits> - - <!-- IP-based access controls. If a connection IP matches an allow - rule, the connection will be accepted. If a connecting IP - matches a deny rule, the connection will be refused. If the - connecting IP does not match any rules, or it matches both an - allow and a deny rule, the contents of the <order/> option - determines what happens. --> - <access> - <!-- Rule check order (default: allow,deny) - - allow,deny - Check allow rules, then check deny rules. - Allow by default. - deny,allow - Check deny rules, then check allow rules. - Deny by default. --> - <order>allow,deny</order> - - <!-- Allow a network. If the mask isn't specified, it defaults to - 255.255.255.255 (ie allow onle the specified IP) --> - <!-- - <allow ip='127.0.0.0' mask='255.0.0.0'/> - --> - - <!-- Allow a single host --> - <!-- - <allow ip='12.34.56.78'/> - --> - - <!-- Deny a network or a host --> - <!-- - <deny ip='127.0.0.1' mask='255.0.0.0'/> - <deny ip='87.65.43.21'/> - --> - </access> - - <!-- Timed checks --> - <check> - <!-- Interval between checks. - - Open client connections will be checked every n seconds, and - the following checks applied. - - 0 disables all checks. (default: 0) --> - <interval>0</interval> - - <!-- Idle connection checks. - - Connections that have not sent data for longer than this many - seconds will be dropped. - - 0 disables idle timeouts. (default: 0) --> - <idle>0</idle> - - <!-- Keepalives. - - Connections that have not sent data for longer than this many - seconds will have a single whitespace character sent to them. - This will force the TCP connection to be closed if they have - disconnected without us knowing about it. - - 0 disables keepalives. (default: 0) --> - <keepalive>0</keepalive> - - </check> - - </io> - - <!-- Authentication/registration database configuration --> - <authreg> - <!-- Backend module to use --> - <module>db</module> - - <!-- Registration configuration --> - <register> - <!-- Account registration is enabled by default (provided the - auth/reg module in use supports it). Comment this out to - disable. --> - <enable/> - - <!-- Human-readable instructions to be returned to client when - registration is requested. --> - <instructions>Enter a username and password to register with this server.</instructions> - - <!-- Password change only. When registration is disabled, it may - still be useful to allow clients to change their password. If - you want this, uncomment this when you disable registration. --> - <!-- - <password/> - --> - </register> - - <!-- Available authentication mechanisms --> - <mechanisms> - - <!-- These are the traditional Jabber authentication mechanisms. - Comment out any that you don't want to be offered to clients. - Note that if the auth/reg module does not support one of - these mechanisms, then it will not be offered regardless of - whether or not it is enabled here. - - Similarly, if <zerok/> is disabled, then zero-knowledge data - will not be created when a user is registered. --> - <traditional> - <plain/> - <digest/> - <zerok/> - </traditional> - - <!-- SASL authentication mechanisms. Comment out any that you - don't want to be offered to clients. Again, if the auth/reg - module does not support one of these mechanisms, then it will - not be offered. --> - <sasl> - <plain/> - <digest-md5/> - <!-- - <anonymous/> - --> - </sasl> - - </mechanisms> - - <!-- MySQL module configuration --> - <mysql> - <!-- Database server host and port --> - <host>localhost</host> - <port>3306</port> - - <!-- Database name --> - <dbname>jabberd2</dbname> - - <!-- Database username and password --> - <user>jabberd2</user> - <pass>secret</pass> - </mysql> - - <!-- PostgreSQL module configuration --> - <pgsql> - <!-- Database server host and port --> - <host>localhost</host> - <port>5432</port> - - <!-- Database name --> - <dbname>jabberd2</dbname> - - <!-- Database username and password --> - <user>jabberd2</user> - <pass>secret</pass> - </pgsql> - - <!-- Berkeley DB module configuration --> - <db> - <!-- Directory to store database files under --> - <path>/var/lib/jabberd</path> - - <!-- Synchronize the database to disk after each write. If you - disable this, database accesses may be faster, but data may - be lost if jabberd crashes. --> - <sync/> - </db> - - <!-- LDAP module configuration --> - <ldap> - <!-- LDAP server host and port (default: 389) --> - <host>ldap.example.com</host> - <port>389</port> - - <!-- Use LDAP v3 if possible. If disabled, v2 will be used. - Encryption options are only available if v3 is enabled. --> - <!-- - <v3/> - --> - - <!-- Encryption. If enabled, this will create an encrypted channel - to the LDAP server using the LDAP STARTTLS mechanism. --> - <!-- - <starttls/> - --> - - <!-- Encryption. If enabled, this will create an encrypted channel - to the server using the old-style "ldaps://" mechanism. It is - recommended that you use <starttls/> instead of this. --> - <!-- - <ssl/> - --> - - <!-- DN to bind as for searches. If unspecified, the searches - will be done anonymously. --> - <!-- - <binddn>cn=Directory Manager</binddn> - <bindpw>secret</bindpw> - --> - - <!-- LDAP attribute that holds the user ID (default: uid) --> - <uidattr>uid</uidattr> - - <!-- base DN of the tree. You should specify a DN for each - authentication realm declared in the <local/> section above, - by using the realm attribute. --> - <basedn realm='company'>o=Company.com</basedn> - <basedn>o=Example Corp.</basedn> - </ldap> - - <!-- Pipe module configuration --> - <pipe> - <!-- Program to execute --> - <exec>/usr/bin/pipe-auth.pl</exec> - </pipe> - - </authreg> - -</c2s> diff --git a/web/html/applications/rhn-proxy/3.7/jabberd/sm.xml b/web/html/applications/rhn-proxy/3.7/jabberd/sm.xml deleted file mode 100644 index 44fa67b..0000000 --- a/web/html/applications/rhn-proxy/3.7/jabberd/sm.xml +++ /dev/null @@ -1,379 +0,0 @@ -<!-- Session manager configuration --> -<sm> - <!-- Our ID on the network. Users will have this as the domain part of - their JID. If you want your server to be accessible from other - Jabber servers, this ID must be resolvable by DNS.s - (default: localhost) --> - <id>${session.hostname}</id> - - <!-- The process ID file. comment this out if you don't need to know - to know the process ID from outside the process (eg for control - scripts) --> - <pidfile>/var/run/jabberd-sm.pid</pidfile> - - <!-- Router connection configuration --> - <router> - <!-- IP/port the router is waiting for connections on --> - <ip>127.0.0.1</ip> <!-- default: 127.0.0.1 --> - <port>5347</port> <!-- default: 5347 --> - - <!-- Username/password to authenticate as --> - <user>jabberd</user> <!-- default: jabberd --> - <pass>secret</pass> <!-- default: secret --> - - <!-- File containing a SSL certificate and private key to use when - setting up an encrypted channel with the router. If this is - commented out, or the file can't be read, no attempt will be - made to establish an encrypted channel with the router. --> - <!-- - <pemfile>/etc/jabberd/server.pem</pemfile> - --> - <!-- Router connection retry --> - <retry> - <!-- If the connection to the router can't be established at - startup, we should try again this many times before exiting. - Use -1 to retry indefinitely. [default: 3] --> - <init>3</init> - - <!-- If we lost the connection to the router during normal - operation (ie we've successfully connected to the router in - the past), we should try to reconnect this many times before - exiting. Use -1 to retry indefinitely. [default: 3] --> - <lost>3</lost> - - <!-- Sleep for this many seconds before trying attempting a - reconnect. [default: 2] --> - <sleep>2</sleep> - </retry> - </router> - - <!-- Log configuration - type is "syslog", "file" or "stdout" --> - <log type='syslog'> - <!-- If logging to syslog, this is the log ident --> - <ident>jabberd/sm</ident> - - <!-- If logging to syslog, this is the log facility - (local0 - local7) [default: local3] --> - <facility>local3</facility> - - <!-- If logging to file, this is the filename of the logfile --> - <!-- - <file>/var/log/jabberd/sm.log</file> - --> - </log> - - <!-- Storage database configuration --> - <storage> - <!-- By default, we use the MySQL driver for all storage --> - <driver>db</driver> - - <!-- Its also possible to explicitly list alternate drivers for - specific data types. --> - <!-- Store vcards in a PostgreSQL database instead --> - <!-- - <driver type='vcard'>pgsql</driver> - --> - - <!-- MySQL driver configuration --> - <mysql> - <!-- Database server host and port --> - <host>localhost</host> - <port>3306</port> - - <!-- Database name --> - <dbname>jabberd2</dbname> - - <!-- Database username and password --> - <user>jabberd2</user> - <pass>secret</pass> - - <!-- Transacation support. If this is commented out, transactions - will be disabled. This might make database accesses faster, - but data may be lost if jabberd crashes. - - This will need to be disabled if you are using a MySQL - earlier than v3.23.xx, as transaction support did not appear - until this version. --> - <transactions/> - </mysql> - - <!-- PostgreSQL driver configuration --> - <pgsql> - <!-- Database server host and port --> - <host>localhost</host> - <port>5432</port> - - <!-- Database name --> - <dbname>jabberd2</dbname> - - <!-- Database username and password --> - <user>jabberd2</user> - <pass>secret</pass> - - <!-- Transacation support. If this is commented out, transactions - will be disabled. This might make database accesses faster, - but data may be lost if jabberd crashes. --> - <transactions/> - </pgsql> - - <!-- Berkeley DB driver configuration --> - <db> - <!-- Directory to store database files under --> - <path>/var/lib/jabberd</path> - - <!-- Synchronize the database to disk after each write. If you - disable this, database accesses may be faster, but data may - be lost if jabberd crashes. --> - <sync/> - </db> - </storage> - - <!-- Access control information --> - <aci> - <!-- The JIDs listed here will get access to all restricted - functions, regardless of restrictions further down --> - <acl type='all'> - <jid>admin@localhost</jid> - </acl> - - <!-- These JIDs can send broadcast messages (announce, motd) --> - <!-- - <acl type='broadcast'> - <jid>nocstaff1@localhost</jid> - <jid>nocstaff2@localhost</jid> - </acl> - --> - - <!-- These JIDs will receive messages addressed to the sm itself - (help requestes and such) --> - <!-- - <acl type='messages'> - <jid>support@localhost</jid> - </acl> - --> - - <!-- These JIDs can discover active user/session information --> - <!-- - <acl type='disco'> - <jid>webstatus@localhost</jid> - </acl> - --> - </aci> - - <!-- Module chain configuration - - Modules listed in a chain are called in the order specified at - the appropriate time for that chain (assuming that the module - knows how to work with that chain; otherwise it simply ignores - it). - - Removing a module from these lists will stop the module being - called, even if its compiled into the server. - - Serveral modules have a presence in more than one chain. It is - possible to remove a module from one chain but not others, but - this may cause strange behaviour. Make sure you know what you're - doing. --> - <modules> - - <!-- sess-start. The modules in this chain are called when a session - is first started (usually on request by c2s as part of the - authentication process). This is normally used to load - per-session data. --> - <chain id='sess-start'/> - - <!-- sess-end. The modules in this chain are called just before a - session is destroyed (after the client has disconnected). --> - <chain id='sess-end'> - <module>iq-last</module> <!-- update logout time --> - </chain> - - <!-- in-sess. The modules in this chain are called when a packet - arrives from an active user session. Note that this chain is - also responsible for delivering packets to their destinations - - this is usually handled by the "deliver" module. --> - <chain id='in-sess'> - <module>validate</module> <!-- validate packet type --> - <module>privacy</module> <!-- manage privacy lists --> - <module>roster</module> <!-- handle roster get/sets and s10ns --> - <module>vacation</module> <!-- manage vacation settings --> - <module>iq-vcard</module> <!-- store and retrieve the user's vcard --> - <module>iq-private</module> <!-- manage the user's private data store --> - <module>disco</module> <!-- respond to agents requests from sessions --> - <module>offline</module> <!-- if we're coming online for the first time, deliver queued messages --> - <module>announce</module> <!-- deliver motd --> - <module>presence</module> <!-- process and distribute presence updates --> - <module>deliver</module> <!-- deliver packets with full jids directly --> - </chain> - - <!-- out-sess. The modules in this chain are called just before a - packet is delivered to an active user session. --> - <chain id='out-sess'/> - - <!-- in-router. The modules in this chain are called when a packet - arrives from the router (ie another component or s2s), but - before any processing is done. This is a good place to filter - incoming packets. --> - <chain id='in-router'> - <module>session</module> <!-- perform session actions as required by c2s --> - <module>validate</module> <!-- validate packet type --> - <module>presence</module> <!-- drop incoming presence if user not online --> - <module>privacy</module> <!-- filter incoming packets based on privacy rules --> - </chain> - - <!-- out-router. The modules in this chain are called just before a - packet is delivered to the router (destined for another - component or s2s). This is a good place to filter outgoing - packets. --> - <chain id='out-router'> - <module>privacy</module> <!-- filter outgoing packets based on privacy rules --> - </chain> - - <!-- pkt-sm. The modules in this chain are called when a packet - arrives that is addressed to the session manager itself (ie the - to JID has no node part). This is normally used to provide - session-manager-wide services (like service discovery). --> - <chain id='pkt-sm'> - <module>iq-last</module> <!-- return the server uptime --> - <module>iq-time</module> <!-- return the current server time --> - <module>iq-version</module> <!-- return the server name and version --> - <module>disco</module> <!-- build the disco list; respond to disco queries --> - <module>announce</module> <!-- send broadcast messages (announce, motd, etc) --> - <module>help</module> <!-- resend sm messages to administrators --> - <module>echo</module> <!-- echo messages sent to /echo --> - </chain> - - <!-- pkt-user. The modules in this chain are called when a packet - arrives that is address to a specific user. Note that this - chain is also responsible for delivering packets to user - sessions as appropriate - this is usually handled by the - "deliver" module. --> - <chain id='pkt-user'> - <module>roster</module> <!-- handle s10n responses --> - <module>presence</module> <!-- process and distribute incoming presence from external entities --> - <module>iq-vcard</module> <!-- grab user vcards --> - <module>deliver</module> <!-- deliver the packet to an active session if we can --> - <module>vacation</module> <!-- send vacation messages --> - <module>offline</module> <!-- save messages and s10ns for later --> - <module>disco-publish</module> <!-- handle disco publishes; return information about user sessions --> - <module>iq-last</module> <!-- return time since last logout --> - </chain> - - <!-- pkt-router. The modules in this chain are called when a - special-purpose packet arrives from the router (eg domain - advertisements). --> - <chain id='pkt-router'> - <module>session</module> <!-- take sessions offline their c2s disappears --> - <module>disco</module> <!-- query new components for service information --> - </chain> - - <!-- user-load. The modules in this chain are called to load - per-user data. This will happen before a user can be used (ie - before a session is created). --> - <chain id='user-load'> - <module>active</module> <!-- get active status --> - <module>roster</module> <!-- load the roster and trust list --> - <module>privacy</module> <!-- load privacy lists --> - <module>disco-publish</module> <!-- load published information --> - <module>vacation</module> <!-- load vacation settings --> - </chain> - - <!-- user-create. The modules in this chain are called when a user - creation request is received (usually from c2s as part of a - registration request). This initialises any per-user data. --> - <chain id='user-create'> - <module>active</module> <!-- activate new users --> - <module>template-roster</module> <!-- populate roster from template --> - </chain> - - <!-- user-delete. The modules in this chain are called when a user - deletion request is received (usually from c2s as part of a - registration removal request). This deletes all data that may - have been previously created for the user during normal - operation. --> - <chain id='user-delete'> - <module>active</module> <!-- deactivate users --> - <module>announce</module> <!-- delete motd data --> - <module>disco-publish</module> <!-- delete published information --> - <module>offline</module> <!-- bounce queued messages --> - <module>privacy</module> <!-- delete privacy lists --> - <module>roster</module> <!-- delete roster --> - <module>vacation</module> <!-- delete vacation settings --> - <module>iq-last</module> <!-- delete last logout time --> - <module>iq-private</module> <!-- delete private data --> - <module>iq-vcard</module> <!-- delete vcard --> - </chain> - - </modules> - - <!-- Service discovery configuration --> - <discovery> - - <!-- Service identity. these specify the category, type and name of - this service that will be included in discovery information - responses. --> - <identity> - <category>server</category> <!-- default: server --> - <type>im</type> <!-- default: im --> - <name>Jabber IM server</name> <!-- default: Jabber IM server --> - </identity> - - <!-- The discovery module can respond to jabber:iq:agents queries - for compatibility with older clients. Comment this out to - disable this. --> - <agents/> - - <!-- Static service list. - - The discover module can discover disco-capable services - automatically as they come online. Most legacy services, - however, will not support discovery. In order to get them to - appear in disco/agents lists returned to the client, they - should be listed here. - - Note that if a disco-capable service with the same name as one - listed below comes online, the information it provides will - override the information listed below. - - The "category" and "type" attributes, and the list of supported - namespaces are only used for agents compatibility. If you have - disabled this above, you may omit them. --> - <items> - - <!-- example entry for a user directory --> - <!-- - <item category='service' type='jud' jid='users.jabber.org' name='Jabber User Directory'/> - --> - - <!-- example entry for a groupchat (conference) service --> - <!-- - <item category='conference' type='public' jid='conference.jabber.org' name='Text conferencing'/> - --> - - </items> - - </discovery> - - <!-- User options --> - <user> - <!-- By default, users must explicitly created before they can start - a session. The creation process is usually triggered by a c2s - component in response to a client registering a new user. - - Enableing this option will make it so that a user create will be - triggered the first time a non-existant user attempts to start - a session. This is useful if you already have users in an - external authentication database (eg LDAP) and you don't want - them to have to register. --> - <auto-create/> - - <!-- Templates. If defined, the contents of these files will be - stored in the users data store when they are created. --> - <template> - <!-- - <roster>/etc/jabberd/templates/roster.xml</roster> - --> - </template> - </user> - -</sm> diff --git a/web/html/applications/rhn-proxy/3.7/rhn.conf b/web/html/applications/rhn-proxy/3.7/rhn.conf deleted file mode 100644 index 1114598..0000000 --- a/web/html/applications/rhn-proxy/3.7/rhn.conf +++ /dev/null @@ -1,29 +0,0 @@ -# Automatically generated RHN Proxy Server configuration file. -# ------------------------------------------------------------------------- - -# SSL CA certificate location -proxy.ca_chain = ${session.ca_chain:/usr/share/rhn/RHNS-CA-CERT} - -# Corporate HTTP proxy, format: corp_gateway.example.com:8080 -proxy.http_proxy = ${session.http_proxy} - -# Username for that corporate HTTP proxy -proxy.http_proxy_username = ${session.http_proxy_username} - -# Password for that corporate HTTP proxy -proxy.http_proxy_password = ${session.http_proxy_password} - -# Location of locally built, custom packages -proxy.pkg_dir = /var/spool/rhn-proxy - -# Hostname of RHN Server or RHN Satellite -proxy.rhn_parent = ${session.rhn_parent} - -# Destination of all tracebacks, etc. -traceback_mail = ${session.traceback_mail} - -# SSL eabled or disabled -proxy.use_ssl = ${session.use_ssl:0} - -# Monitoring Scout enabled or disabled -web.is_monitoring_scout = ${session.enable_monitoring_scout:0} diff --git a/web/html/applications/rhn-proxy/3.7/squid.conf b/web/html/applications/rhn-proxy/3.7/squid.conf deleted file mode 100644 index 1b18d39..0000000 --- a/web/html/applications/rhn-proxy/3.7/squid.conf +++ /dev/null @@ -1,30 +0,0 @@ -# squid.conf -# To be used for RHN Proxy servers. -# -# $Id$ - -http_port 8080 - -cache_mem 400 MB -maximum_object_size 200 MB -cache_dir ufs /var/spool/squid 15000 32 256 - -cache_replacement_policy heap LFUDA -memory_replacement_policy heap GDSF - -refresh_pattern . 0 100% 120000 - -acl all src 0.0.0.0/0.0.0.0 -acl localhost src 127.0.0.1/255.255.255.255 -acl SSL_ports port 443 -acl Safe_ports port 80 # http -acl Safe_ports port 443 # https -acl CONNECT method CONNECT - -http_access deny !Safe_ports -http_access deny CONNECT !SSL_ports -http_access allow localhost -http_access deny all -icp_access allow all -miss_access allow all -
commit f9ef4878907a352cdd3e0e44dd3cd4dec87da7bf Author: Milan Zazrivec mzazrivec@redhat.com Date: Thu Mar 26 14:29:46 2009 +0100
Automatic commit of package [spacewalk-setup] release [0.5.26-1].
diff --git a/rel-eng/packages/spacewalk-setup b/rel-eng/packages/spacewalk-setup index 2385830..c8425ae 100644 --- a/rel-eng/packages/spacewalk-setup +++ b/rel-eng/packages/spacewalk-setup @@ -1 +1 @@ -0.5.25-1 spacewalk/setup/ +0.5.26-1 spacewalk/setup/ diff --git a/spacewalk/setup/spacewalk-setup.spec b/spacewalk/setup/spacewalk-setup.spec index 8efbd9c..c635d26 100644 --- a/spacewalk/setup/spacewalk-setup.spec +++ b/spacewalk/setup/spacewalk-setup.spec @@ -1,5 +1,5 @@ Name: spacewalk-setup -Version: 0.5.25 +Version: 0.5.26 Release: 1%{?dist} Summary: Initial setup tools for Red Hat Spacewalk
@@ -94,6 +94,9 @@ rm -rf %{buildroot} %dir %{_sysconfdir}/pki/spacewalk/jabberd
%changelog +* Thu Mar 26 2009 Milan Zazrivec mzazrivec@redhat.com 0.5.26-1 +- update message at the end of upgrade setup + * Wed Mar 25 2009 Milan Zazrivec mzazrivec@redhat.com 0.5.25-1 - 491091 - don't match lines in ssl.conf that are commented out
commit 0e7a34ccb860e829087b45d2ce4317e84da8359f Author: Milan Zazrivec mzazrivec@redhat.com Date: Thu Mar 26 14:27:38 2009 +0100
upgrade: we need to distinguish between Spacewalk and Satellite here (the upgrade processes are different)
diff --git a/spacewalk/setup/bin/spacewalk-setup b/spacewalk/setup/bin/spacewalk-setup index 5f9496d..f91cb6a 100644 --- a/spacewalk/setup/bin/spacewalk-setup +++ b/spacewalk/setup/bin/spacewalk-setup @@ -145,7 +145,11 @@ Spacewalk::Setup::upgrade_stop_services(%opts); Spacewalk::Setup::oracle_upgrade_start_db(%opts);
if ($opts{'upgrade'}) { - print Spacewalk::Setup::loc("Upgrade complete.\n"); + print Spacewalk::Setup::loc("This portion of the $product_name upgrade process has successfully completed.\n"); + if ($product_name =~ /Satellite/) { + print Spacewalk::Setup::loc("Please refer to appropriate upgrade document in /etc/sysconfig/rhn/satellite-upgrade\n"); + print Spacewalk::Setup::loc("for any remaining steps in the process.\n"); + } } else { print Spacewalk::Setup::loc("Installation complete.\n"); print Spacewalk::Setup::loc("Visit https://%s to create the $product_name administrator account.\n", $answers{hostname});
commit 6e04c67d11894f1dcf38561577de67461cd142a3 Author: Milan Zazrivec mzazrivec@redhat.com Date: Thu Mar 26 14:02:33 2009 +0100
Automatic commit of package [spacewalk-backend] release [0.5.27-1].
diff --git a/backend/spacewalk-backend.spec b/backend/spacewalk-backend.spec index b9e30c4..90bd0dc 100644 --- a/backend/spacewalk-backend.spec +++ b/backend/spacewalk-backend.spec @@ -7,7 +7,7 @@ Name: spacewalk-backend Summary: Common programs needed to be installed on the Spacewalk servers/proxies Group: Applications/Internet License: GPLv2 -Version: 0.5.26 +Version: 0.5.27 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -562,6 +562,9 @@ rm -f %{rhnconf}/rhnSecret.py*
# $Id$ %changelog +* Thu Mar 26 2009 Milan Zazrivec mzazrivec@redhat.com 0.5.27-1 +- 486526 - additional system files and db statistics included into spacewalk-debug archive + * Wed Mar 25 2009 Devan Goodwin dgoodwin@redhat.com 0.5.26-1 - 487621 - Fix segfaults rhnpush has been causing server-side on Fedora 10. - Fix Oracle exception handling in procedure calls. diff --git a/rel-eng/packages/spacewalk-backend b/rel-eng/packages/spacewalk-backend index fb5b620..1c2f570 100644 --- a/rel-eng/packages/spacewalk-backend +++ b/rel-eng/packages/spacewalk-backend @@ -1 +1 @@ -0.5.26-1 backend/ +0.5.27-1 backend/
commit b8db0d49f6add0b6449243ecd56b4ef0ccb84f37 Author: Milan Zazrivec mzazrivec@redhat.com Date: Thu Mar 26 13:49:38 2009 +0100
486526 - include rhn-db-stats into spacewalk-backend-tools package
diff --git a/backend/satellite_tools/Makefile b/backend/satellite_tools/Makefile index da21bb9..0b3fb30 100644 --- a/backend/satellite_tools/Makefile +++ b/backend/satellite_tools/Makefile @@ -16,7 +16,7 @@ FILES = __init__ connection diskImportLib messages \
SCRIPTS = satellite-sync spacewalk-debug\ rhn-schema-version rhn-satellite-activate rhn-charsets \ - rhn-ssl-dbstore update-packages migrate-system-profile + rhn-ssl-dbstore update-packages migrate-system-profile rhn-db-stats
# check if we can build man pages DOCBOOK = $(wildcard /usr/bin/docbook2man) diff --git a/backend/spacewalk-backend.spec b/backend/spacewalk-backend.spec index e6472f1..b9e30c4 100644 --- a/backend/spacewalk-backend.spec +++ b/backend/spacewalk-backend.spec @@ -505,6 +505,7 @@ rm -f %{rhnconf}/rhnSecret.py* %attr(755,root,root) %{_bindir}/rhn-satellite-exporter %attr(755,root,root) %{_bindir}/update-packages %attr(755,root,root) %{_bindir}/migrate-system-profile +%attr(755,root,root) %{_bindir}/rhn-db-stats %{rhnroot}/satellite_tools/SequenceServer.py* %{rhnroot}/satellite_tools/messages.py* %{rhnroot}/satellite_tools/progress_bar.py*
commit 1766b8bb663b179c2ced25bb6b0dc19e9c852374 Author: Milan Zazrivec mzazrivec@redhat.com Date: Thu Mar 26 13:44:04 2009 +0100
486526 - append rhnsat db statistics to debug archive
diff --git a/backend/satellite_tools/rhn-db-stats b/backend/satellite_tools/rhn-db-stats new file mode 100755 index 0000000..8864bb8 --- /dev/null +++ b/backend/satellite_tools/rhn-db-stats @@ -0,0 +1,35 @@ +#!/bin/sh + +if [ $# -lt 1 -o $# -gt 2 ]; then + echo "Usage: `basename $0` output-file [connect-string]" + exit +fi + +CONNECT=$(grep default_db /etc/rhn/rhn.conf | awk '{split($0,a,"="); print a[2]}') +[ -n "$2" ] && CONNECT=$2 + +sqlplus $CONNECT >& /dev/null << EOS +spool $1 +set echo on +set serverout on +set pagesize 2000 linesize 145 +column name_col_plus_show_param format a40 word wrap +column value_col_plus_show_param format a90 word wrap + +select dbms_stats.get_param('METHOD_OPT') from dual; + +show parameter; + +declare + n number; +begin + for i in (select * from user_tables order by table_name) + loop + execute immediate 'select count(*) from ' || i.table_name into n; + dbms_output.put_line(i.table_name || ': ' || n); + end loop; +end; +/ + +quit; +EOS diff --git a/backend/satellite_tools/spacewalk-debug b/backend/satellite_tools/spacewalk-debug index de89dc8..94a761e 100755 --- a/backend/satellite_tools/spacewalk-debug +++ b/backend/satellite_tools/spacewalk-debug @@ -87,6 +87,7 @@ mkdir -p $DIR/conf/rhn/sysconfig mkdir -p $DIR/httpd-logs mkdir -p $DIR/tomcat-logs mkdir -p $DIR/rhn-logs +mkdir -p $DIR/db-stats
echo " * copying configuration information" cp -fapRd /etc/httpd/conf $DIR/conf/httpd @@ -176,6 +177,9 @@ echo " * querying schema version and database charactersets" echo " * get diskspace available" df -h > $DIR/diskinfo
+echo " * get database statistics" +/usr/bin/rhn-db-stats $DIR/db-stats/db-stats.log + echo " * timestamping" echo "Spacewalk debug created on $(date)" > $DIR/timestamp
commit bf56c0495d6cfe4f59b7bc0ec15b9acb13148486 Author: Milan Zazrivec mzazrivec@redhat.com Date: Thu Mar 26 13:37:45 2009 +0100
486526 - copy /etc/{sudoers,passwd,group} to debug archive
diff --git a/backend/satellite_tools/spacewalk-debug b/backend/satellite_tools/spacewalk-debug index 9d8a0d9..de89dc8 100755 --- a/backend/satellite_tools/spacewalk-debug +++ b/backend/satellite_tools/spacewalk-debug @@ -147,6 +147,24 @@ if [ -d /root/ssl-build ] ; then cp -fa /root/ssl-build/* $DIR/ssl-build 2> /dev/null fi
+# /etc/sudoers +if [ -f /etc/sudoers ] ; then + echo " * copying /etc/sudoers" + cp -fa /etc/sudoers $DIR/conf +fi + +# /etc/passwd +if [ -f /etc/passwd ] ; then + echo " * copying apache, oracle, tomcat, nocpulse entries from /etc/passwd" + egrep "apache|tomcat|oracle|nocpulse" /etc/passwd > $DIR/conf/passwd +fi + +# /etc/group +if [ -f /etc/group ] ; then + echo " * copying apache, oracle, tomcat, nocpulse entries from /etc/group" + egrep "apache|tomcat|oracle|nocpulse" /etc/group > $DIR/conf/group +fi + echo " * querying RPM database (versioning of Spacewalk, etc.)" rpm -qa --last > $DIR/rpm-manifest rpm -qa | sort > $DIR/rpm-manifest-clean
commit 53026d5a46f143ef36ec2c03d39ba1400f832a0d Author: Milan Zazrivec mzazrivec@redhat.com Date: Thu Mar 26 13:30:19 2009 +0100
get rid of bogus usage message
diff --git a/backend/satellite_tools/spacewalk-debug b/backend/satellite_tools/spacewalk-debug index 2063b23..9d8a0d9 100755 --- a/backend/satellite_tools/spacewalk-debug +++ b/backend/satellite_tools/spacewalk-debug @@ -27,7 +27,7 @@ BASE_DIR=/tmp
usage() { echo "Usage:" - echo "$0 [OPTIONS] <connect-string>" + echo "$0 [OPTIONS]" echo "Debug utility that packages log files and other information" echo echo " OPTIONS:"
commit e7a69f30a7e395117374815b884e23c532dfee4a Author: Miroslav Suchý msuchy@redhat.com Date: Thu Mar 26 11:57:06 2009 +0100
Automatic commit of package [spacewalk-proxy-installer] release [0.5.22-1].
diff --git a/proxy/installer/spacewalk-proxy-installer.spec b/proxy/installer/spacewalk-proxy-installer.spec index 5de7dce..38afa22 100644 --- a/proxy/installer/spacewalk-proxy-installer.spec +++ b/proxy/installer/spacewalk-proxy-installer.spec @@ -2,7 +2,7 @@ Name: spacewalk-proxy-installer Summary: Spacewalk Proxy Server Installer Group: Applications/Internet License: GPLv2 -Version: 0.5.21 +Version: 0.5.22 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -83,6 +83,9 @@ rm -rf $RPM_BUILD_ROOT %doc LICENSE answers.txt
%changelog +* Thu Mar 26 2009 Miroslav Suchý msuchy@redhat.com 0.5.22-1 +- 486125 - if some option is present in answer file, use it even if empty + * Wed Mar 18 2009 Michael Mraka michael.mraka@redhat.com 0.5.21-1 - 489669 - fixed non-interactive mode
diff --git a/rel-eng/packages/spacewalk-proxy-installer b/rel-eng/packages/spacewalk-proxy-installer index d7b8b5f..de79c45 100644 --- a/rel-eng/packages/spacewalk-proxy-installer +++ b/rel-eng/packages/spacewalk-proxy-installer @@ -1 +1 @@ -0.5.21-1 proxy/installer/ +0.5.22-1 proxy/installer/
commit 50584c54be3e0f3a8de91e9724bf497ced946c22 Author: Miroslav Suchý msuchy@redhat.com Date: Thu Mar 26 11:54:59 2009 +0100
486125 - if some option is present in answer file, use it even if empty
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh index eca22ca..036f3e7 100755 --- a/proxy/installer/configure-proxy.sh +++ b/proxy/installer/configure-proxy.sh @@ -47,10 +47,13 @@ default_or_input () { #which is like: var_a = $var_b ? word DEFAULT=${CURRENT_VALUE:-$DEFAULT} echo -n "$MSG [$DEFAULT]: " - if [ "$INTERACTIVE" = "1" -a -z "$CURRENT_VALUE" ]; then + if [ "$INTERACTIVE" = "1" -a -z "`set | grep "^$VARIABLE="`" ]; then read INPUT + elif [ -z "`set | grep "^$VARIABLE="`" ]; then + echo $DEFAULT else - echo + eval "DEFAULT=$$VARIABLE" + echo $DEFAULT fi if [ -z "$INPUT" ]; then INPUT="$DEFAULT"
commit b00375a0734baae8674078d8f73d1ad93cfc3375 Author: Miroslav Suchý msuchy@redhat.com Date: Thu Mar 26 11:00:57 2009 +0100
converting whitespace to tab
diff --git a/proxy/installer/configure-proxy.sh b/proxy/installer/configure-proxy.sh index 6188d4c..eca22ca 100755 --- a/proxy/installer/configure-proxy.sh +++ b/proxy/installer/configure-proxy.sh @@ -41,10 +41,10 @@ default_or_input () { local DEFAULT="$3"
local INPUT - local CURRENT_VALUE=$(eval "echo $$VARIABLE") - #in following code is used not so common expansion - #var_a=${var_b:-word} - #which is like: var_a = $var_b ? word + local CURRENT_VALUE=$(eval "echo $$VARIABLE") + #in following code is used not so common expansion + #var_a=${var_b:-word} + #which is like: var_a = $var_b ? word DEFAULT=${CURRENT_VALUE:-$DEFAULT} echo -n "$MSG [$DEFAULT]: " if [ "$INTERACTIVE" = "1" -a -z "$CURRENT_VALUE" ]; then
commit 5d4ca733b164d8d9ad1d09f0436b04f9758d7486 Author: Mike McCune mmccune@gmail.com Date: Wed Mar 25 22:17:10 2009 -0700
unit test fixes and some extra logging
diff --git a/java/code/src/com/redhat/rhn/common/validator/test/ValidatorServiceTest.java b/java/code/src/com/redhat/rhn/common/validator/test/ValidatorServiceTest.java index ecf834a..f8269b4 100644 --- a/java/code/src/com/redhat/rhn/common/validator/test/ValidatorServiceTest.java +++ b/java/code/src/com/redhat/rhn/common/validator/test/ValidatorServiceTest.java @@ -44,6 +44,7 @@ public class ValidatorServiceTest extends RhnBaseTestCase { to.setAsciiString("asciivalue"); to.setUsernameString("usernamevalue"); to.setPosixString("posixvalue"); + to.setTwoCharField("12");
assertTrue( ValidatorService.getInstance().validateObject(to, validator).isEmpty()); @@ -64,6 +65,7 @@ public class ValidatorServiceTest extends RhnBaseTestCase { to.setAsciiString("asciivalue"); to.setUsernameString("usernamevalue"); to.setPosixString("posixvalue"); + to.setTwoCharField("12");
assertTrue( ValidatorService.getInstance().validateObject(to).isEmpty()); diff --git a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java index 0047711..c4e2039 100644 --- a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java +++ b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java @@ -1711,10 +1711,21 @@ public class ChannelManager extends BaseManager { * @return Tools channel if found, null otherwise. */ public static Channel getToolsChannel(Channel baseChannel, User user) { + if (log.isDebugEnabled()) { + log.debug("getToolsChannel, baseChannel: " + baseChannel.getLabel()); + } + Iterator i = ChannelManager.userAccessibleChildChannels( user.getOrg().getId(), baseChannel.getId()).iterator(); + + if (log.isDebugEnabled()) { + log.debug("getToolsChannel, userAccessibleChildChannels: " + i.hasNext()); + } while (i.hasNext()) { Channel child = (Channel) i.next(); + if (log.isDebugEnabled()) { + log.debug("getToolsChannel, trying: " + child.getLabel()); + } // First search for legacy kickstart package names: List kspackages = ChannelManager. listLatestPackagesLike(child.getId(),
commit 5a1a84852f28190b48342c2f5bc3767211e1a073 Author: jesus m. rodriguez jesusr@redhat.com Date: Thu Mar 26 00:02:25 2009 -0400
Automatic commit of package [spacewalk-java] release [0.5.39-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec index 9d64f76..0ad65c4 100644 --- a/java/spacewalk-java.spec +++ b/java/spacewalk-java.spec @@ -10,7 +10,7 @@ Name: spacewalk-java Summary: Spacewalk Java site packages Group: Applications/Internet License: GPLv2 -Version: 0.5.38 +Version: 0.5.39 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -235,9 +235,13 @@ fi %attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog +* Thu Mar 26 2009 jesus m. rodriguez jesusr@redhat.com 0.5.39-1 +- 484852 - user taken to meaningful error pages instead of ISEs. + * Wed Mar 25 2009 Partha Aji paji@redhat.com 0.5.38-1 - Added code to take advantage of cobbler 1.6 perf enhancements - if the customer has that installed. + * Wed Mar 25 2009 Mike McCune mmccune@gmail.com 0.5.37-1 - 491978 - fixing status reporting in webui for kickstarts. - Added resource bundle entries for admin/config/Cobbler.do diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java index f699c73..ac40b4e 100644 --- a/rel-eng/packages/spacewalk-java +++ b/rel-eng/packages/spacewalk-java @@ -1 +1 @@ -0.5.38-1 java/ +0.5.39-1 java/
commit 9f17fb3f98a22685630be5b45ab3b32e9ae0720a Author: jesus m. rodriguez jesusr@redhat.com Date: Wed Mar 25 23:58:13 2009 -0400
484852 - user taken to meaningful error pages instead of ISEs. Added a new Struts exception handler for NoSuchPackageException. Cleaned up PackageDetailsAction to handle errors and be better organized. PackageManager was not handling an empty DataResult which is a bad thing, now returns null which is handled by the caller. Added 2 negative tests for the changes made to PackageManager.
diff --git a/java/code/src/com/redhat/rhn/common/errors/NoSuchPackageExceptionHandler.java b/java/code/src/com/redhat/rhn/common/errors/NoSuchPackageExceptionHandler.java new file mode 100644 index 0000000..f1cb11e --- /dev/null +++ b/java/code/src/com/redhat/rhn/common/errors/NoSuchPackageExceptionHandler.java @@ -0,0 +1,45 @@ +/** + * Copyright (c) 2009 Red Hat, Inc. + * + * This software is licensed to you under the GNU General Public License, + * version 2 (GPLv2). There is NO WARRANTY for this software, express or + * implied, including the implied warranties of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 + * along with this software; if not, see + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. + * + * Red Hat trademarks are not licensed under GPLv2. No permission is + * granted to use or replicate Red Hat trademarks that are incorporated + * in this software or its documentation. + */ +package com.redhat.rhn.common.errors; + +import com.redhat.rhn.frontend.xmlrpc.NoSuchPackageException; + +import org.apache.log4j.Logger; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMessage; +import org.apache.struts.action.ExceptionHandler; + +import javax.servlet.http.HttpServletRequest; + +/** + * UnknownPackageExceptionHandler + * @version $Rev$ + */ +public class NoSuchPackageExceptionHandler extends ExceptionHandler { + private NoSuchPackageException exception; + + @Override + protected void storeException(HttpServletRequest request, String property, + ActionMessage error, ActionForward forward, String scope) { + request.setAttribute("error", exception); + } + + @Override + protected void logException(Exception ex) { + Logger log = Logger.getLogger(NoSuchPackageExceptionHandler.class); + log.error("Missing Parameter Error", ex); + exception = (NoSuchPackageException) ex; + } +} diff --git a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/PackageDetailsAction.java b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/PackageDetailsAction.java index 2008dc7..6d6a2d1 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/PackageDetailsAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/PackageDetailsAction.java @@ -14,15 +14,17 @@ */ package com.redhat.rhn.frontend.action.rhnpackage;
-import com.redhat.rhn.common.db.datasource.ParameterValueNotFoundException; +import com.redhat.rhn.common.security.PermissionException; import com.redhat.rhn.domain.rhnpackage.Package; import com.redhat.rhn.domain.rhnpackage.PackageFactory; import com.redhat.rhn.domain.rhnpackage.Patch; import com.redhat.rhn.domain.rhnpackage.PatchSet; import com.redhat.rhn.domain.user.User; +import com.redhat.rhn.frontend.action.common.BadParameterException; import com.redhat.rhn.frontend.dto.PackageListItem; import com.redhat.rhn.frontend.struts.RequestContext; import com.redhat.rhn.frontend.struts.RhnAction; +import com.redhat.rhn.frontend.xmlrpc.NoSuchPackageException; import com.redhat.rhn.manager.download.DownloadManager; import com.redhat.rhn.manager.rhnpackage.PackageManager;
@@ -41,7 +43,7 @@ import javax.servlet.http.HttpServletResponse; * @version $Rev$ */ public class PackageDetailsAction extends RhnAction { - + private final String PACKAGE_NAME = "package_name";
/** {@inheritDoc} */ @@ -51,104 +53,92 @@ public class PackageDetailsAction extends RhnAction { HttpServletResponse response) {
RequestContext requestContext = new RequestContext(request); - User user = requestContext.getLoggedInUser(); - - Package pack; - long pid; - long archId = 0; - + User user = requestContext.getLoggedInUser(); + //If this is an easy one and we have the pid if (request.getParameter("pid") != null) { - pid = requestContext.getRequiredParam("pid"); - pack = PackageFactory.lookupByIdAndUser(pid, user); + long pid = requestContext.getRequiredParam("pid"); + Package pkg = PackageFactory.lookupByIdAndUser(pid, user); + + // show permission error if pid is invalid like we did before + if (pkg == null) { + throw new PermissionException("Invalid pid"); + } + + if (pkg instanceof Patch) { + request.setAttribute("type", "patch"); + request.setAttribute(PACKAGE_NAME, pkg.getPackageName().getName()); + request.setAttribute("readme_url", + DownloadManager.getPatchReadmeDownloadPath( + (Patch) pkg, user)); + } + else if (pkg instanceof PatchSet) { + request.setAttribute("type", "patchset"); + request.setAttribute(PACKAGE_NAME, pkg.getNameEvra()); + request.setAttribute("readme_url", + DownloadManager.getPatchSetReadmeDownloadPath( + (PatchSet) pkg, user)); + } + else { + request.setAttribute("type", "rpm"); + request.setAttribute(PACKAGE_NAME, pkg.getFile()); + } + + if (DownloadManager.isFileAvailable(pkg.getPath())) { + request.setAttribute("url", + DownloadManager.getPackageDownloadPath(pkg, user)); + } + + if (DownloadManager.isFileAvailable(pkg.getSourcePath())) { + request.setAttribute("srpm_url", + DownloadManager.getPackageSourceDownloadPath(pkg, user)); + } + + request.setAttribute("pack", pkg); + request.setAttribute("description", + pkg.getDescription().replace("\n", "<BR>\n")); + request.setAttribute("packArches", + PackageFactory.findPackagesWithDifferentArch(pkg)); + request.setAttribute("pid", pid); + + return mapping.findForward("default"); } else { //we have to guess PackageListItem item = PackageListItem.parse(request.getParameter("id_combo")); + Package pkg; long nameId = item.getIdOne(); long evrId = item.getIdTwo(); + long archId = 0; if (item.getIdThree() != null) { archId = item.getIdThree(); }
- String cidParam = request.getParameter("cid"); - String sidParam = request.getParameter("sid"); - if (cidParam != null) { - pack = PackageManager.guestimatePackageByChannel( - Long.parseLong(cidParam), nameId, evrId, user.getOrg()); + Long cid = requestContext.getParamAsLong("cid"); + Long sid = requestContext.getParamAsLong("sid"); + if (cid != null) { + pkg = PackageManager.guestimatePackageByChannel( + cid, nameId, evrId, user.getOrg());
} - else if (sidParam != null) { - pack = PackageManager.guestimatePackageBySystem( - Long.parseLong(sidParam), nameId, evrId, archId, user.getOrg()); + else if (sid != null) { + pkg = PackageManager.guestimatePackageBySystem( + sid, nameId, evrId, archId, user.getOrg());
} else { - throw new ParameterValueNotFoundException("pid, cid, or sid"); + throw new BadParameterException("pid, cid, or sid"); + } + + // show permission error if pid is invalid like we did before + if (pkg == null) { + throw new NoSuchPackageException(); }
Map params = new HashMap(); - params.put("pid", pack.getId()); + params.put("pid", pkg.getId()); return getStrutsDelegate().forwardParams(mapping.findForward("package"), params); - - } - - - - request.setAttribute("pack", pack); - - - String desc = pack.getDescription(); - request.setAttribute("description", desc.replace("\n", "<BR>\n")); - - - - if (pack instanceof Patch) { - request.setAttribute("type", "patch"); - request.setAttribute(PACKAGE_NAME, pack.getPackageName().getName()); - request.setAttribute("readme_url", DownloadManager.getPatchReadmeDownloadPath( - (Patch) pack, user)); - - } - else if (pack instanceof PatchSet) { - request.setAttribute("type", "patchset"); - request.setAttribute(PACKAGE_NAME, pack.getNameEvra()); - - request.setAttribute("readme_url", - DownloadManager.getPatchSetReadmeDownloadPath( - (PatchSet) pack, user)); - } - else { - request.setAttribute("type", "rpm"); - request.setAttribute(PACKAGE_NAME, pack.getFile()); - } - - - - request.setAttribute("packArches", - PackageFactory.findPackagesWithDifferentArch(pack)); - - if (DownloadManager.isFileAvailable(pack.getPath())) { - request.setAttribute("url", DownloadManager.getPackageDownloadPath(pack, user)); } - - if (DownloadManager.isFileAvailable(pack.getSourcePath())) { - request.setAttribute("srpm_url", - DownloadManager.getPackageSourceDownloadPath(pack, user)); - } - - - - request.setAttribute("pid", pid); - - - - return mapping.findForward("default"); - } - - - - - } + diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml index 5e6c881..4051cbe 100644 --- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml +++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml @@ -21017,6 +21017,18 @@ given channel.</source> <context context-type="sourcefile">/rhn/channels/manage/errata/ErrataList.do</context> </context-group> </trans-unit> + <trans-unit id="unknown.package"> + <source>Unknown Package</source> + <context-group name="ctx"> + <context context-type="sourcefile">any package page</context> + </context-group> + </trans-unit> + <trans-unit id="unknown.package.msg"> + <source>Unfortunately, you have requested information about a package we do not have in our database. Most likely, this is a custom package you have installed by hand, or is from a distribution not supported by Red Hat Network.</source> + <context-group name="ctx"> + <context context-type="sourcefile">/rhn/channels/manage/errata/ErrataList.do</context> + </context-group> + </trans-unit> </body> </file> </xliff> diff --git a/java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java b/java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java index 66347e3..6e7851c 100644 --- a/java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java +++ b/java/code/src/com/redhat/rhn/manager/rhnpackage/PackageManager.java @@ -1210,7 +1210,12 @@ public class PackageManager extends BaseManager { "Package_queries", "guestimate_package_by_channel");
DataResult dr = m.execute(params); - return PackageFactory.lookupByIdAndOrg((Long) ((Map)dr.get(0)).get("id"), org); + if (dr != null && !dr.isEmpty()) { + return PackageFactory.lookupByIdAndOrg( + (Long) ((Map)dr.get(0)).get("id"), org); + } + + return null; }
/** @@ -1230,19 +1235,23 @@ public class PackageManager extends BaseManager { params.put("nameId", nameId); params.put("evrId", evrId);
- if (archId != 0) { + if (archId != null && archId != 0) { params.put("archId", archId); m = ModeFactory.getMode( "Package_queries", "guestimate_package_by_system_arch"); - } + } else { m = ModeFactory.getMode( "Package_queries", "guestimate_package_by_system"); }
DataResult dr = m.execute(params); + if (dr != null && !dr.isEmpty()) { + return PackageFactory.lookupByIdAndOrg( + (Long) ((Map)dr.get(0)).get("id"), org); + }
- return PackageFactory.lookupByIdAndOrg((Long) ((Map)dr.get(0)).get("id"), org); + return null; }
/** diff --git a/java/code/src/com/redhat/rhn/manager/rhnpackage/test/PackageManagerTest.java b/java/code/src/com/redhat/rhn/manager/rhnpackage/test/PackageManagerTest.java index c772369..c697ec0 100644 --- a/java/code/src/com/redhat/rhn/manager/rhnpackage/test/PackageManagerTest.java +++ b/java/code/src/com/redhat/rhn/manager/rhnpackage/test/PackageManagerTest.java @@ -24,12 +24,13 @@ import com.redhat.rhn.domain.channel.test.ChannelFactoryTest; import com.redhat.rhn.domain.errata.Errata; import com.redhat.rhn.domain.errata.ErrataFactory; import com.redhat.rhn.domain.errata.test.ErrataFactoryTest; +import com.redhat.rhn.domain.org.Org; import com.redhat.rhn.domain.rhnpackage.Package; import com.redhat.rhn.domain.rhnpackage.PackageCapability; import com.redhat.rhn.domain.rhnpackage.PackageEvr; +import com.redhat.rhn.domain.rhnpackage.PackageEvrFactory; import com.redhat.rhn.domain.rhnpackage.PackageFactory; import com.redhat.rhn.domain.rhnpackage.PackageName; -import com.redhat.rhn.domain.rhnpackage.PackageEvrFactory; import com.redhat.rhn.domain.rhnpackage.test.PackageCapabilityTest; import com.redhat.rhn.domain.rhnpackage.test.PackageNameTest; import com.redhat.rhn.domain.rhnpackage.test.PackageTest; @@ -37,7 +38,6 @@ import com.redhat.rhn.domain.role.RoleFactory; import com.redhat.rhn.domain.server.Server; import com.redhat.rhn.domain.server.test.ServerFactoryTest; import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.domain.org.Org; import com.redhat.rhn.frontend.dto.PackageListItem; import com.redhat.rhn.frontend.dto.PackageOverview; import com.redhat.rhn.frontend.dto.UpgradablePackageListItem; @@ -48,19 +48,19 @@ import com.redhat.rhn.manager.kickstart.tree.BaseTreeEditOperation; import com.redhat.rhn.manager.rhnpackage.PackageManager; import com.redhat.rhn.testing.BaseTestCaseWithUser; import com.redhat.rhn.testing.ChannelTestUtils; +import com.redhat.rhn.testing.ServerTestUtils; import com.redhat.rhn.testing.TestUtils; import com.redhat.rhn.testing.UserTestUtils; -import com.redhat.rhn.testing.ServerTestUtils;
import org.hibernate.Query; import org.hibernate.Session;
import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.HashSet;
/** * PackageManagerTest @@ -93,6 +93,37 @@ public class PackageManagerTest extends BaseTestCaseWithUser { } }
+ public void testGuestimateChannelInvalidPackage() { + // guestimatePackageByChannel should return null if it + // can't find a package, not throw an exception. + try { + assertNull(PackageManager.guestimatePackageByChannel( + 10000L, 100L, 100L, null)); + } + catch (Exception e) { + fail("method should return null"); + } + } + + public void testGuestimateHandlesNullArchId() throws Exception { + PackageListItem pli = PackageListItem.parse("10000|1000"); + assertNull(pli.getIdThree()); + assertNull(PackageManager.guestimatePackageBySystem(10000L, 100L, 100L, + pli.getIdThree(), null)); + } + + public void testGuestimateInvalidPackage() throws Exception { + // guestimatePackageBySystem should return null if it + // can't find a package, not throw an exception. + try { + assertNull(PackageManager.guestimatePackageBySystem(10000L, 100L, 100L, + 0L, null)); + } + catch (Exception e) { + fail("method should return null"); + } + } + public void testUpgradable() throws Exception { Map info = ErrataCacheManagerTest. createServerNeededPackageCache(user, ErrataFactory.ERRATA_TYPE_BUG); diff --git a/java/code/webapp/WEB-INF/pages/common/errors/nosuchpkg.jsp b/java/code/webapp/WEB-INF/pages/common/errors/nosuchpkg.jsp new file mode 100644 index 0000000..950486d --- /dev/null +++ b/java/code/webapp/WEB-INF/pages/common/errors/nosuchpkg.jsp @@ -0,0 +1,16 @@ +<%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn" %> +<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %> +html:xhtml/ +<html> +<body> + +<h1> + <img src="/img/rhn-icon-warning.gif" + alt="<bean:message key='error.common.errorAlt' />" /> + <bean:message key="unknown.package" />: +</h1> + +<p><bean:message key="unknown.package.msg" /></p> + +</body> +</html> diff --git a/java/code/webapp/WEB-INF/struts-config.xml b/java/code/webapp/WEB-INF/struts-config.xml index 9bece67..eaf1a1d 100644 --- a/java/code/webapp/WEB-INF/struts-config.xml +++ b/java/code/webapp/WEB-INF/struts-config.xml @@ -992,9 +992,9 @@ <exception type="com.redhat.rhn.common.security.PermissionException" path="/WEB-INF/pages/common/errors/permission.jsp" key="date" handler="com.redhat.rhn.common.errors.PermissionExceptionHandler"/> - <exception type="com.redhat.rhn.domain.user.service.UserServiceException" - path="/WEB-INF/pages/common/errors/service.jsp" key="date" - handler="com.redhat.rhn.common.errors.ServiceExceptionHandler"/> + <exception type="com.redhat.rhn.frontend.xmlrpc.NoSuchPackageException" + path="/WEB-INF/pages/common/errors/nosuchpkg.jsp" key="date" + handler="com.redhat.rhn.common.errors.NoSuchPackageExceptionHandler"/> </global-exceptions>
<!--
commit a6624091f6718d7d11c39f956704126ce71a8ff0 Author: Partha Aji paji@redhat.com Date: Wed Mar 25 20:42:03 2009 -0400
Automatic commit of package [spacewalk-java] release [0.5.38-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec index 54fb2a9..9d64f76 100644 --- a/java/spacewalk-java.spec +++ b/java/spacewalk-java.spec @@ -10,7 +10,7 @@ Name: spacewalk-java Summary: Spacewalk Java site packages Group: Applications/Internet License: GPLv2 -Version: 0.5.37 +Version: 0.5.38 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -235,7 +235,7 @@ fi %attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog -* Wed Mar 25 2009 Partha Aji paji@redhat.com +* Wed Mar 25 2009 Partha Aji paji@redhat.com 0.5.38-1 - Added code to take advantage of cobbler 1.6 perf enhancements - if the customer has that installed. * Wed Mar 25 2009 Mike McCune mmccune@gmail.com 0.5.37-1 diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java index 8020a45..f699c73 100644 --- a/rel-eng/packages/spacewalk-java +++ b/rel-eng/packages/spacewalk-java @@ -1 +1 @@ -0.5.37-1 java/ +0.5.38-1 java/
commit f2d11e23927462fe0b44c0d92f74727cd3cfbd9b Author: Partha Aji paji@redhat.com Date: Wed Mar 25 20:41:53 2009 -0400
Fixed the spacewalk-java spec
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec index 967254b..54fb2a9 100644 --- a/java/spacewalk-java.spec +++ b/java/spacewalk-java.spec @@ -235,6 +235,9 @@ fi %attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog +* Wed Mar 25 2009 Partha Aji paji@redhat.com +- Added code to take advantage of cobbler 1.6 perf enhancements +- if the customer has that installed. * Wed Mar 25 2009 Mike McCune mmccune@gmail.com 0.5.37-1 - 491978 - fixing status reporting in webui for kickstarts. - Added resource bundle entries for admin/config/Cobbler.do
commit 6a95e8408a3b782c5579c402c2ed28346ce80e36 Author: Partha Aji paji@redhat.com Date: Wed Mar 25 20:37:35 2009 -0400
Modified Cobbler Distro/Profile and SysRecord creation to take advantage of the new speeedy cobbler lookup enhancements. The logic was now changed to say if its Cobbler 1.6 do the ID lookup using find* else do the lookup the traditional way..
diff --git a/java/code/src/org/cobbler/CobblerConnection.java b/java/code/src/org/cobbler/CobblerConnection.java index 9822715..51d4300 100644 --- a/java/code/src/org/cobbler/CobblerConnection.java +++ b/java/code/src/org/cobbler/CobblerConnection.java @@ -40,7 +40,7 @@ public class CobblerConnection { private XmlRpcClient client; private String actualUrl; private static Logger log = Logger.getLogger(CobblerConnection.class); - + private Double version; private String token;
protected CobblerConnection() { @@ -178,8 +178,20 @@ public class CobblerConnection { * Gets the cobbler version * @return the cobbler version. */ - public double getVersion() { - return (Double)invokeMethod("version"); + private double getVersion() { + if (version == null) { + version = (Double)invokeMethod("version"); + } + return version; + } + + /** + * a hack to check if the api version is > 1.6 + * for some things are different after.. + * @return true if the client connection is 1.6 or greater. + */ + public boolean is16OrGreater() { + return getVersion() >= COBBLER_VERSION; }
private String adjustUrl(String urlIn) { diff --git a/java/code/src/org/cobbler/CobblerObject.java b/java/code/src/org/cobbler/CobblerObject.java index 50278eb..7c0b42c 100644 --- a/java/code/src/org/cobbler/CobblerObject.java +++ b/java/code/src/org/cobbler/CobblerObject.java @@ -49,6 +49,63 @@ public abstract class CobblerObject { protected Map<String, Object> dataMap = new HashMap<String, Object>(); protected CobblerConnection client;
+ /** + * Helper method used by all cobbler objects to + * return a version of themselves by UID + * @see org.cobbler.Distro.lookupById for example usage.. + * + * @param client the Cobbler Connection + * @param id the UID of the distro/profile/system record + * @param findMethod the find xmlrpc method, eg: find_distro + * @param listMethod the list xmlrpc method, eg: get_distros + * @return true if the cobbler object was found. + */ + protected static Map<String, Object> lookupDataMapById(CobblerConnection client, + String id, String findMethod, String listMethod) { + if (id == null) { + return null; + } + if (client.is16OrGreater()) { + Map<String, String> criteria = new HashMap<String, String>(); + criteria.put(UID, id); + List<Map<String, Object>> objects = (List<Map<String, Object>>) + client.invokeTokenMethod(findMethod, criteria); + if (!objects.isEmpty()) { + return objects.get(0); + } + return null; + } + List<Map<String, Object>> cobblerObjects = (List<Map<String, Object>>) + client.invokeMethod(listMethod); + for (Map <String, Object> map : cobblerObjects) { + + if (id.equals(map.get(UID))) { + return map; + } + } + return null; + } + + /** + * Helper method used by all cobbler objects to + * return a Map of themselves by name. + * @see org.cobbler.Distro.lookupByName for example usage.. + * @param client the Cobbler Connection + * @param name the name of the cobbler object + * @param lookupMethod the name of the xmlrpc + * method to lookup: eg get_profile for profile + * @return the Cobbler Object Data Map or null + */ + protected static Map <String, Object> lookupDataMapByName(CobblerConnection client, + String name, String lookupMethod) { + Map <String, Object> map = (Map<String, Object>)client. + invokeMethod(lookupMethod, name); + if (map == null || map.isEmpty()) { + return null; + } + return map; + } + protected abstract void invokeModify(String key, Object value); protected abstract void invokeSave(); protected abstract boolean invokeRemove(); diff --git a/java/code/src/org/cobbler/Distro.java b/java/code/src/org/cobbler/Distro.java index 44bf503..4e92961 100644 --- a/java/code/src/org/cobbler/Distro.java +++ b/java/code/src/org/cobbler/Distro.java @@ -66,14 +66,7 @@ public class Distro extends CobblerObject { * @return the distro that maps to the name or null */ public static Distro lookupByName(CobblerConnection client, String name) { - Map <String, Object> map = (Map<String, Object>)client. - invokeMethod("get_distro", name); - if (map == null || map.isEmpty()) { - return null; - } - Distro distro = new Distro(client); - distro.dataMap = map; - return distro; + return handleLookup(client, lookupDataMapByName(client, name, "get_distro")); }
/** @@ -83,21 +76,19 @@ public class Distro extends CobblerObject { * @return the distro matching the UID */ public static Distro lookupById(CobblerConnection client, String id) { - if (id == null) { - return null; - } - List<Map<String, Object>> distros = (List<Map<String, Object>>) - client.invokeMethod("get_distros"); - Distro distro = new Distro(client); - for (Map <String, Object> map : distros) { - distro.dataMap = map; - if (id.equals(distro.getUid())) { - return distro; - } + return handleLookup(client, lookupDataMapById(client, + id, "find_distro", "get_distros")); + } + + private static Distro handleLookup(CobblerConnection client, Map distroMap) { + if (distroMap != null) { + Distro distro = new Distro(client); + distro.dataMap = distroMap; + return distro; } return null; } - + /** * Returns a list of available Distros * @param connection the cobbler connection diff --git a/java/code/src/org/cobbler/Profile.java b/java/code/src/org/cobbler/Profile.java index fc1dbe9..f77e5bc 100644 --- a/java/code/src/org/cobbler/Profile.java +++ b/java/code/src/org/cobbler/Profile.java @@ -79,14 +79,7 @@ public class Profile extends CobblerObject { * @return the profile that maps to the name or null */ public static Profile lookupByName(CobblerConnection client, String name) { - Map <String, Object> map = (Map<String, Object>)client. - invokeMethod("get_profile", name); - if (map == null || map.isEmpty()) { - return null; - } - Profile profile = new Profile(client); - profile.dataMap = map; - return profile; + return handleLookup(client, lookupDataMapByName(client, name, "get_profile")); }
/** @@ -96,23 +89,18 @@ public class Profile extends CobblerObject { * @return the profile matching the given uid or null */ public static Profile lookupById(CobblerConnection client, String id) { - List<Map<String, Object>> profiles = (List<Map<String, Object>>) - client.invokeMethod("get_profiles"); - if (id == null) { - return null; - } - - Profile profile = new Profile(client); - for (Map <String, Object> map : profiles) { - profile.dataMap = map; - if (id.equals(profile.getUid())) { - log.debug("Profile: " + profile); - return profile; - } + return handleLookup(client, lookupDataMapById(client, id, + "find_profile", "get_profiles")); + } + + private static Profile handleLookup(CobblerConnection client, Map profileMap) { + if (profileMap != null) { + Profile profile = new Profile(client); + profile.dataMap = profileMap; + return profile; } return null; - } - + } /** * Returns a list of available profiles * @param connection the cobbler connection diff --git a/java/code/src/org/cobbler/SystemRecord.java b/java/code/src/org/cobbler/SystemRecord.java index 881b2ba..4b6d292 100644 --- a/java/code/src/org/cobbler/SystemRecord.java +++ b/java/code/src/org/cobbler/SystemRecord.java @@ -63,14 +63,7 @@ public class SystemRecord extends CobblerObject { * @return the system that maps to the name or null */ public static SystemRecord lookupByName(CobblerConnection client, String name) { - Map <String, Object> map = (Map<String, Object>)client. - invokeMethod("get_system", name); - if (map == null || map.isEmpty()) { - return null; - } - SystemRecord sys = new SystemRecord(client); - sys.dataMap = map; - return sys; + return handleLookup(client, lookupDataMapByName(client, name, "get_system")); }
/** @@ -80,22 +73,19 @@ public class SystemRecord extends CobblerObject { * @return the system record matching the given uid or null */ public static SystemRecord lookupById(CobblerConnection client, String id) { - List<Map<String, Object>> systems = (List<Map<String, Object>>) - client.invokeMethod("get_systems"); - if (id == null) { - return null; - } - - SystemRecord sys = new SystemRecord(client); - for (Map <String, Object> map : systems) { - sys.dataMap = map; - if (id.equals(sys.getUid())) { - return sys; - } + return handleLookup(client, + lookupDataMapById(client, id, "find_system", "get_systems")); + } + + private static SystemRecord handleLookup(CobblerConnection client, Map sysMap) { + if (sysMap != null) { + SystemRecord sys = new SystemRecord(client); + sys.dataMap = sysMap; + return sys; } return null; } - + /** * Returns a list of available systems * @param connection the cobbler connection @@ -104,7 +94,7 @@ public class SystemRecord extends CobblerObject { public static List<SystemRecord> list(CobblerConnection connection) { List <SystemRecord> systems = new LinkedList<SystemRecord>(); List <Map<String, Object >> cSystems = (List <Map<String, Object >>) - connection.invokeMethod("get_profiles"); + connection.invokeMethod("get_systems");
for (Map<String, Object> sysMap : cSystems) { SystemRecord sys = new SystemRecord(connection); diff --git a/java/code/src/org/cobbler/test/MockConnection.java b/java/code/src/org/cobbler/test/MockConnection.java index 2d85820..d25adb1 100644 --- a/java/code/src/org/cobbler/test/MockConnection.java +++ b/java/code/src/org/cobbler/test/MockConnection.java @@ -238,9 +238,16 @@ public class MockConnection extends CobblerConnection { log.debug("Unhandled xmlrpc call in MockConnection: " + name); } return ""; -} - - + } + + /** + * {@inheritDoc} + */ + @Override + public boolean is16OrGreater() { + return false; + } + private Map findByName(String name, List<Map> maps) { for (Map map : maps) { if (name.equals(map.get("name"))) {
commit 4daa05b12d11d154b981e35bcba2ceb1ddb2b838 Author: Mike McCune mmccune@gmail.com Date: Wed Mar 25 16:36:04 2009 -0700
Automatic commit of package [spacewalk-java] release [0.5.37-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec index e3678fc..967254b 100644 --- a/java/spacewalk-java.spec +++ b/java/spacewalk-java.spec @@ -10,7 +10,7 @@ Name: spacewalk-java Summary: Spacewalk Java site packages Group: Applications/Internet License: GPLv2 -Version: 0.5.36 +Version: 0.5.37 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -235,6 +235,12 @@ fi %attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog +* Wed Mar 25 2009 Mike McCune mmccune@gmail.com 0.5.37-1 +- 491978 - fixing status reporting in webui for kickstarts. +- Added resource bundle entries for admin/config/Cobbler.do +- 467063 - Ported published and unpublished errata to new list tag to get new navigation features +- 446269 - fixed issue where you could not remove a package from a system + * Fri Mar 20 2009 jesus m. rodriguez jesusr@redhat.com 0.5.36-1 - bring over jta from satellite build. - fix the jfreechart requires to be 0:1.0.9 everywhere diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java index fa8549c..8020a45 100644 --- a/rel-eng/packages/spacewalk-java +++ b/rel-eng/packages/spacewalk-java @@ -1 +1 @@ -0.5.36-1 java/ +0.5.37-1 java/
commit ce86deb1d74aaea7b2d32fee2c2cb22857b3ab56 Author: Mike McCune mmccune@gmail.com Date: Wed Mar 25 15:35:40 2009 -0700
checkstyle
diff --git a/java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java b/java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java index bc34d77..d27055d 100644 --- a/java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java +++ b/java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java @@ -28,8 +28,6 @@ import com.redhat.rhn.domain.user.User; import org.apache.commons.lang.RandomStringUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; -import org.hibernate.HibernateException; -import org.hibernate.Session;
import java.util.Iterator; import java.util.List;
commit 65dfccd8a06605f89a4346e21a375f18fca67b71 Author: Mike McCune mmccune@gmail.com Date: Wed Mar 25 15:31:29 2009 -0700
491978 - fixing status reporting in webui for kickstarts. We had an unassigned variable that was causing an NPE. Also cleaned up ActivationKeyFactory calls that were swallowing errors and continuing on. This ended up changing the signature of some of the lookups.
diff --git a/java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java b/java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java index 97128e9..bc34d77 100644 --- a/java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java +++ b/java/code/src/com/redhat/rhn/domain/token/ActivationKeyFactory.java @@ -216,19 +216,12 @@ public class ActivationKeyFactory extends HibernateFactory { * @return ActivationKey associated with session */ public static ActivationKey lookupByKickstartSession(KickstartSession sess) { - Session session = null; - try { - session = HibernateFactory.getSession(); - return (ActivationKey) session.getNamedQuery("ActivationKey.findBySession") - .setEntity("session", sess) - //Retrieve from cache if there - .setCacheable(true) - .uniqueResult(); - } - catch (HibernateException e) { - log.error("Hibernate exception: " + e.toString()); - } - return null; + return (ActivationKey) HibernateFactory.getSession() + .getNamedQuery("ActivationKey.findBySession") + .setEntity("session", sess) + //Retrieve from cache if there + .setCacheable(true) + .uniqueResult(); }
/** @@ -237,21 +230,12 @@ public class ActivationKeyFactory extends HibernateFactory { * @param server that is associated with ActivationKey * @return ActivationKey assocaited with session */ - public static ActivationKey lookupByServer(Server server) { + public static List lookupByServer(Server server) { if (server == null) { return null; } - Session session = null; - try { - session = HibernateFactory.getSession(); - return (ActivationKey) session.getNamedQuery("ActivationKey.findByServer") - .setEntity("server", server) - .uniqueResult(); - } - catch (HibernateException e) { - log.error("Hibernate exception: " + e.toString()); - } - return null; + return getSession().getNamedQuery("ActivationKey.findByServer"). + setEntity("server", server).list(); }
/** diff --git a/java/code/src/com/redhat/rhn/domain/token/test/ActivationKeyTest.java b/java/code/src/com/redhat/rhn/domain/token/test/ActivationKeyTest.java index 7c30e36..96eb85b 100644 --- a/java/code/src/com/redhat/rhn/domain/token/test/ActivationKeyTest.java +++ b/java/code/src/com/redhat/rhn/domain/token/test/ActivationKeyTest.java @@ -52,6 +52,8 @@ import com.redhat.rhn.testing.UserTestUtils;
import org.hibernate.NonUniqueObjectException;
+import java.util.List; + /** * ActivationKeyTest * @version $Rev$ @@ -86,13 +88,15 @@ public class ActivationKeyTest extends BaseTestCaseWithUser { assertEquals(e.getLabel(), t2.getLabel());
// test out ActivationKeyManager.findByServer while we're here... - ActivationKey k4 = ActivationKeyManager.getInstance().findByServer(server, user); + ActivationKey k4 = (ActivationKey) ActivationKeyManager. + getInstance().findByServer(server, user).iterator().next(); assertNotNull(k4); assertEquals(key, k4.getKey());
try { - k3 = ActivationKeyManager.getInstance().findByServer(null, user); + k3 = (ActivationKey) ActivationKeyManager.getInstance(). + findByServer(null, user).iterator().next(); String msg = "Permission check failed :(.." + " Activation key should not have existed" + " for a server of 'null' id. An exception " + @@ -106,7 +110,8 @@ public class ActivationKeyTest extends BaseTestCaseWithUser { User user1 = UserTestUtils.findNewUser("testuser", "testorg"); Server server2 = ServerFactoryTest.createTestServer(user1); try { - k3 = ActivationKeyManager.getInstance().findByServer(server2, user1); + k3 = (ActivationKey) ActivationKeyManager.getInstance(). + findByServer(server2, user1).iterator().next(); String msg = "Permission check failed :(.." + " Activation key should not have existed" + " for a server of the associated id. An exception " + @@ -195,8 +200,11 @@ public class ActivationKeyTest extends BaseTestCaseWithUser { public void testLookupByServer() throws Exception { ActivationKey k = createTestActivationKey(user); Server s = k.getServer(); - - assertNotNull(ActivationKeyFactory.lookupByServer(s)); + createTestActivationKey(user, s); + createTestActivationKey(user, s); + createTestActivationKey(user, s); + List keys = ActivationKeyFactory.lookupByServer(s); + assertTrue(keys.size() == 4); }
public void testCreateNewKeys() throws Exception { diff --git a/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java b/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java index 6c771f5..539bf21 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java +++ b/java/code/src/com/redhat/rhn/frontend/action/common/DownloadFile.java @@ -302,7 +302,7 @@ public class DownloadFile extends DownloadAction { } else if (actualFile.exists()) { log.debug("Looks like it is an actual file and it exists."); - KickstartFactory. + newState = KickstartFactory. lookupSessionStateByLabel(KickstartSessionState.STARTED);
} diff --git a/java/code/src/com/redhat/rhn/frontend/action/common/test/DownloadActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/common/test/DownloadActionTest.java index 95a094d..8b1464f 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/common/test/DownloadActionTest.java +++ b/java/code/src/com/redhat/rhn/frontend/action/common/test/DownloadActionTest.java @@ -26,6 +26,7 @@ import com.redhat.rhn.testing.RhnMockStrutsTestCase; import com.redhat.rhn.testing.TestUtils;
import java.io.File; +import java.util.Map;
/** * TinyUrlActionTest @@ -57,8 +58,12 @@ public class DownloadActionTest extends RhnMockStrutsTestCase { // /ks/dist/f9-x86_64-distro/images/boot.iso addRequestParameter("url", "/ks/dist/" + tree.getLabel() + "/images/boot.iso"); actionPerform(); + assertNull(getActualForward()); assertEquals("application/octet-stream", getResponse().getContentType()); assertNotNull(request.getAttribute("params")); + Map params = (Map) request.getAttribute("params"); + String filename = (String) params.get("filename"); + assertNotNull(filename); }
public void testKSPackageDownload() throws Exception { @@ -85,12 +90,18 @@ public class DownloadActionTest extends RhnMockStrutsTestCase { KickstartSession ksession = KickstartSessionTest.createKickstartSession(ksdata, user); TestUtils.saveAndFlush(ksession); + TestUtils.saveAndFlush(ksession); String encodedSession = SessionSwap.encodeData(ksession.getId().toString());
addRequestParameter("url", "/ks/dist/session/" + encodedSession + "/" + tree.getLabel() + "/images/boot.iso"); actionPerform(); + assertNull(getActualForward()); assertNotNull(request.getAttribute("params")); + Map params = (Map) request.getAttribute("params"); + // //tmp/images/boot.iso + String filename = (String) params.get("filename"); + assertNotNull(filename); }
public void testDirHit() throws Exception { @@ -100,6 +111,7 @@ public class DownloadActionTest extends RhnMockStrutsTestCase { TestUtils.saveAndFlush(ksession); addRequestParameter("url", "/ks/dist/" + tree.getLabel() + "/images/"); actionPerform(); + assertNull(getActualForward()); assertEquals("text/plain", getResponse().getContentType()); }
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartScheduleCommand.java b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartScheduleCommand.java index 0c3e147..12f162b 100644 --- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartScheduleCommand.java +++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartScheduleCommand.java @@ -638,12 +638,17 @@ public class KickstartScheduleCommand extends BaseSystemOperation {
log.debug("** ActivationType : Existing profile.."); if (getTargetServer() != null) { - ActivationKey oldkey = + List oldkeys = ActivationKeyFactory.lookupByServer(getTargetServer());
- if (oldkey != null) { - log.debug("** Removing old token"); - ActivationKeyFactory.removeKey(oldkey); + if (oldkeys != null) { + log.debug("** Removing old tokens"); + Iterator i = oldkeys.iterator(); + while (i.hasNext()) { + log.debug("removing key."); + ActivationKey oldkey = (ActivationKey) i.next(); + ActivationKeyFactory.removeKey(oldkey); + } } }
diff --git a/java/code/src/com/redhat/rhn/manager/token/ActivationKeyManager.java b/java/code/src/com/redhat/rhn/manager/token/ActivationKeyManager.java index b035904..404cb74 100644 --- a/java/code/src/com/redhat/rhn/manager/token/ActivationKeyManager.java +++ b/java/code/src/com/redhat/rhn/manager/token/ActivationKeyManager.java @@ -75,10 +75,14 @@ public class ActivationKeyManager { * @param user needed for authentication * @return Returns the activation key for the server or null if one isn't found. */ - public ActivationKey findByServer(Server server, User user) { - ActivationKey key = ActivationKeyFactory.lookupByServer(server); - validateCredentials(user, null, key); - return key; + public List findByServer(Server server, User user) { + List keys = ActivationKeyFactory.lookupByServer(server); + Iterator i = keys.iterator(); + while (i.hasNext()) { + ActivationKey key = (ActivationKey) i.next(); + validateCredentials(user, null, key); + } + return keys; }
commit 8f7a0cb3e07c497c8185dc4582cd200ed1134ea3 Author: Partha Aji paji@redhat.com Date: Wed Mar 25 16:29:52 2009 -0400
Added resource bundle entries for admin/config/Cobbler.do
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml index 9c27c69..5e6c881 100644 --- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml +++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml @@ -8950,6 +8950,47 @@ Please note that some manual configuration of these scripts may still be require </context-group> </trans-unit>
+ +<!-- Cobbler stuff --> + + <group> + <context-group name="ctx"> + <context context-type="sourcefile">/rhn/admin/config/Cobbler.do</context> + </context-group> + <trans-unit id="cobbler.jsp.toolbar"> + <source>Spacewalk Configuration - Cobbler.</source> + </trans-unit> + <trans-unit id="Cobbler"> + <source>Cobbler</source> + </trans-unit> + <trans-unit id="cobbler.jsp.header2"> + <source>Run Cobbler Sync</source> + </trans-unit> + + <trans-unit id="cobbler.jsp.sync"> + <source>Run Cobbler Sync</source> + </trans-unit> + <trans-unit id="cobbler.jsp.synced"> + <source>Cobbler Sync action was successfully executed. Look at /var/log/cobbler/*.log for more information</source> + </trans-unit> + + <trans-unit id="cobbler.jsp.summary1"> + <source>Setup your @@PRODUCT_NAME@@ Cobbler settings below.</source> + </trans-unit> + <trans-unit id="cobbler.jsp.summary2"> + <source>Cobbler sync is used to repair or rebuild the contents /tftpboot or /var/www/cobbler when manual modification of cobbler has occured.</source> + </trans-unit> + <trans-unit id="cobbler.jsp.summary3"> + <source>For more information refer to the 'cobbler' man page.</source> + </trans-unit> + <trans-unit id="update"> + <source>Update</source> + </trans-unit> + + </group> + + + <!-- TNC --> <trans-unit id="tnc.jsp.tnc"> <source>Terms And Conditions</source>
commit 1bbb12ed6619eb802f4a61196dfed5b97f471ad9 Author: Jason Dobies jason.dobies@redhat.com Date: Wed Mar 25 15:30:12 2009 -0500
467063 - Ported published and unpublished errata to new list tag to get new navigation features
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java index e3e3223..3edaabf 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataAction.java @@ -14,96 +14,48 @@ */ package com.redhat.rhn.frontend.action.errata;
+import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.rhnset.RhnSet; import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.action.common.RhnSetAction; -import com.redhat.rhn.frontend.struts.StrutsDelegate; +import com.redhat.rhn.frontend.struts.RequestContext; +import com.redhat.rhn.frontend.struts.RhnAction; +import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper; +import com.redhat.rhn.frontend.taglibs.list.helper.Listable; import com.redhat.rhn.manager.errata.ErrataManager; import com.redhat.rhn.manager.rhnset.RhnSetDecl;
-import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.ActionMapping; -import org.apache.struts.action.ActionMessage; -import org.apache.struts.action.ActionMessages; +/** @version $Revision$ */ +public class PublishedErrataAction extends RhnAction implements Listable {
-import java.util.Map; + /** {@inheritDoc} */ + public ActionForward execute(ActionMapping actionMapping, + ActionForm actionForm, + HttpServletRequest request, + HttpServletResponse response) + throws Exception {
-import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; + ListRhnSetHelper helper = + new ListRhnSetHelper(this, request, RhnSetDecl.ERRATA_TO_DELETE); + helper.execute();
-/** - * PublishedErrataAction - * @version $Rev$ - */ -public class PublishedErrataAction extends RhnSetAction { - - /** - * Archives the actions. - * @param mapping ActionMapping - * @param formIn ActionForm - * @param request ServletRequest - * @param response ServletResponse - * @return The ActionForward to go to next. - */ - public ActionForward deleteErrata(ActionMapping mapping, - ActionForm formIn, - HttpServletRequest request, - HttpServletResponse response) { - - RhnSet set = updateSet(request); - Map params = makeParamMap(formIn, request); - - StrutsDelegate strutsDelegate = getStrutsDelegate(); - - //if they chose no errata, return to the same page with a message - if (set.isEmpty()) { - ActionMessages msg = new ActionMessages(); - msg.add(ActionMessages.GLOBAL_MESSAGE, - new ActionMessage("errata.applynone")); - strutsDelegate.saveMessages(request, msg); - return strutsDelegate.forwardParams(mapping.findForward("default"), params); + if (helper.isDispatched()) { + // Nothing to do when dispatched, there is a confirmation page displayed next + // that will do the actual work + return actionMapping.findForward("continue"); } - - return strutsDelegate.forwardParams(mapping.findForward("delete"), params); - } - - /** - * Method that returns the correct data result for a - * particular scheduled action. - * @param user The user in question - * @param formIn form that was sent on the request - * @param request HttpServletRequest - * @return Returns the DataResult for the page. - */ - public DataResult getDataResult(User user, - ActionForm formIn, - HttpServletRequest request) { - return ErrataManager.publishedOwnedErrata(user, null); - } - - /** - * {@inheritDoc} - */ - protected void processMethodKeys(Map map) { - map.put("erratalist.jsp.deleteerrata", "deleteErrata"); - }
- /** - * {@inheritDoc} - */ - protected void processParamMap(ActionForm formIn, - HttpServletRequest request, - Map params) { - // no-op + return actionMapping.findForward("default"); }
- /** - * {@inheritDoc} - */ - protected RhnSetDecl getSetDecl() { - return RhnSetDecl.ERRATA_TO_DELETE; + /** {@inheritDoc} */ + public List getResult(RequestContext context) { + User user = context.getLoggedInUser(); + DataResult result = ErrataManager.publishedOwnedErrata(user); + return result; } - } diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataSetupAction.java deleted file mode 100644 index 36e289e..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/PublishedErrataSetupAction.java +++ /dev/null @@ -1,76 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.errata; - -import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.rhnset.RhnSet; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.listview.PageControl; -import com.redhat.rhn.frontend.struts.RequestContext; -import com.redhat.rhn.frontend.struts.RhnListAction; -import com.redhat.rhn.manager.errata.ErrataManager; -import com.redhat.rhn.manager.rhnset.RhnSetDecl; - -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.ActionMapping; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * PublishedErrataSetupAction - * @version $Rev$ - */ -public class PublishedErrataSetupAction extends RhnListAction { - - /** {@inheritDoc} */ - public ActionForward execute(ActionMapping mapping, - ActionForm formIn, - HttpServletRequest request, - HttpServletResponse response) { - - RequestContext rctx = new RequestContext(request); - User user = rctx.getLoggedInUser(); - PageControl pc = new PageControl(); - pc.setFilterColumn("earliest"); - - clampListBounds(pc, request, user); - - DataResult dr = getDataResult(user, pc); - - RhnSet set = RhnSetDecl.ERRATA_TO_DELETE.get(user); - - request.setAttribute("pageList", dr); - request.setAttribute("user", user); - request.setAttribute("set", set); - - return mapping.findForward("default"); - } - - /** - * Returns the unpublished errata for the given user bounded - * by the values of the PageControl. - * @param user Logged in user. - * @param pc boundary values - * @return List of unpublished errata for the given user - * bounded by the values of the PageControl. - */ - protected DataResult getDataResult(User user, PageControl pc) { - pc.setFilter(true); - pc.setFilterColumn("advisorySynopsis"); - return ErrataManager.publishedOwnedErrata(user, pc); - } -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataAction.java index a572531..7e3f6f1 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataAction.java @@ -14,96 +14,49 @@ */ package com.redhat.rhn.frontend.action.errata;
-import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.rhnset.RhnSet; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.action.common.RhnSetAction; -import com.redhat.rhn.frontend.struts.StrutsDelegate; -import com.redhat.rhn.manager.errata.ErrataManager; -import com.redhat.rhn.manager.rhnset.RhnSetDecl; - -import org.apache.struts.action.ActionForm; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; -import org.apache.struts.action.ActionMessage; -import org.apache.struts.action.ActionMessages; +import org.apache.struts.action.ActionForm; +import com.redhat.rhn.frontend.struts.RhnAction; +import com.redhat.rhn.frontend.struts.RequestContext; +import com.redhat.rhn.frontend.taglibs.list.helper.Listable; +import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper; +import com.redhat.rhn.manager.rhnset.RhnSetDecl; +import com.redhat.rhn.manager.errata.ErrataManager; +import com.redhat.rhn.domain.user.User; +import com.redhat.rhn.common.db.datasource.DataResult;
-import java.util.Map; +/** @version $Revision$ */ +public class UnpublishedErrataAction extends RhnAction implements Listable {
-import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; + /** {@inheritDoc} */ + public ActionForward execute(ActionMapping actionMapping, + ActionForm actionForm, + HttpServletRequest request, + HttpServletResponse response) + throws Exception {
-/** - * ActionsAction - * @version $Rev$ - */ -public class UnpublishedErrataAction extends RhnSetAction { - - /** - * Archives the actions. - * @param mapping ActionMapping - * @param formIn ActionForm - * @param request ServletRequest - * @param response ServletResponse - * @return The ActionForward to go to next. - */ - public ActionForward deleteErrata(ActionMapping mapping, - ActionForm formIn, - HttpServletRequest request, - HttpServletResponse response) { + ListRhnSetHelper helper = + new ListRhnSetHelper(this, request, RhnSetDecl.ERRATA_TO_DELETE); + helper.execute();
- RhnSet set = updateSet(request); - Map params = makeParamMap(formIn, request); - - StrutsDelegate strutsDelegate = getStrutsDelegate(); - - //if they chose no errata, return to the same page with a message - if (set.isEmpty()) { - ActionMessages msg = new ActionMessages(); - msg.add(ActionMessages.GLOBAL_MESSAGE, - new ActionMessage("errata.applynone")); - strutsDelegate.saveMessages(request, msg); - return strutsDelegate.forwardParams(mapping.findForward("default"), params); + if (helper.isDispatched()) { + // Nothing to do when dispatched, there is a confirmation page displayed next + // that will do the actual work + return actionMapping.findForward("continue"); } - - return strutsDelegate.forwardParams(mapping.findForward("delete"), params); - } - - /** - * Method that returns the correct data result for a - * particular scheduled action. - * @param user The user in question - * @param formIn form that was sent in on the request - * @param request HttpServletRequest - * @return Returns the DataResult for the page. - */ - public DataResult getDataResult(User user, - ActionForm formIn, - HttpServletRequest request) { - return ErrataManager.unpublishedOwnedErrata(user, null); - }
- /** - * {@inheritDoc} - */ - protected void processMethodKeys(Map map) { - map.put("erratalist.jsp.deleteerrata", "deleteErrata"); + return actionMapping.findForward("default"); }
- /** - * {@inheritDoc} - */ - protected void processParamMap(ActionForm formIn, - HttpServletRequest request, - Map params) { - // no-op - - } - - /** - * {@inheritDoc} - */ - protected RhnSetDecl getSetDecl() { - return RhnSetDecl.ERRATA_TO_DELETE; + /** {@inheritDoc} */ + public List getResult(RequestContext context) { + User user = context.getLoggedInUser(); + DataResult result = ErrataManager.unpublishedOwnedErrata(user); + return result; } } + diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataSetupAction.java deleted file mode 100644 index c0c97fc..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/UnpublishedErrataSetupAction.java +++ /dev/null @@ -1,76 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.errata; - -import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.rhnset.RhnSet; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.listview.PageControl; -import com.redhat.rhn.frontend.struts.RequestContext; -import com.redhat.rhn.frontend.struts.RhnListAction; -import com.redhat.rhn.manager.errata.ErrataManager; -import com.redhat.rhn.manager.rhnset.RhnSetDecl; - -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.ActionMapping; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * ErrataListSetupAction - * @version $Rev$ - */ -public class UnpublishedErrataSetupAction extends RhnListAction { - - /** {@inheritDoc} */ - public ActionForward execute(ActionMapping mapping, - ActionForm formIn, - HttpServletRequest request, - HttpServletResponse response) { - - RequestContext rctx = new RequestContext(request); - User user = rctx.getLoggedInUser(); - PageControl pc = new PageControl(); - pc.setFilterColumn("earliest"); - - clampListBounds(pc, request, user); - - DataResult dr = getDataResult(user, pc); - - RhnSet set = RhnSetDecl.ERRATA_TO_DELETE.get(user); - - request.setAttribute("pageList", dr); - request.setAttribute("user", user); - request.setAttribute("set", set); - - return mapping.findForward("default"); - } - - /** - * Returns the unpublished errata for the given user bounded - * by the values of the PageControl. - * @param user Logged in user. - * @param pc boundary values - * @return List of unpublished errata for the given user - * bounded by the values of the PageControl. - */ - protected DataResult getDataResult(User user, PageControl pc) { - pc.setFilter(true); - pc.setFilterColumn("advisorySynopsis"); - return ErrataManager.unpublishedOwnedErrata(user, pc); - } -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/test/BaseErrataActionTestCase.java b/java/code/src/com/redhat/rhn/frontend/action/errata/test/BaseErrataActionTestCase.java index 79cf78b..0de1a41 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/test/BaseErrataActionTestCase.java +++ b/java/code/src/com/redhat/rhn/frontend/action/errata/test/BaseErrataActionTestCase.java @@ -14,17 +14,13 @@ */ package com.redhat.rhn.frontend.action.errata.test;
-import com.redhat.rhn.common.db.datasource.DataResult; import com.redhat.rhn.domain.errata.Errata; import com.redhat.rhn.domain.rhnset.RhnSet; import com.redhat.rhn.domain.user.User; import com.redhat.rhn.frontend.action.common.RhnSetAction; -import com.redhat.rhn.frontend.action.errata.PublishedErrataAction; -import com.redhat.rhn.frontend.action.errata.UnpublishedErrataAction; import com.redhat.rhn.manager.rhnset.RhnSetDecl; import com.redhat.rhn.testing.ActionHelper; import com.redhat.rhn.testing.RhnBaseTestCase; -import com.redhat.rhn.testing.UserTestUtils;
import org.apache.struts.action.ActionForward;
@@ -34,25 +30,6 @@ import org.apache.struts.action.ActionForward; */ public abstract class BaseErrataActionTestCase extends RhnBaseTestCase {
- public void testGetDataResult() throws Exception { - Long oid = UserTestUtils.createOrg("testOrg"); - User user = UserTestUtils.createUser("testUser", oid); - Errata e = createErrata(user); - - DataResult dr; - if (getAction() instanceof UnpublishedErrataAction) { - dr = ((UnpublishedErrataAction)getAction()) - .getDataResult(user, null, null); - } - else { - dr = ((PublishedErrataAction)getAction()) - .getDataResult(user, null, null); - } - - assertNotNull(e.getAdvisory()); - assertTrue(e.getAdvisory().startsWith("JAVA Test")); - } - /** * Make sure when the delete button is hit we go to the proper * place. No DB action occurs. diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/test/PublishedErrataActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/errata/test/PublishedErrataActionTest.java deleted file mode 100644 index ce82edb..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/test/PublishedErrataActionTest.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.errata.test; - -import com.redhat.rhn.domain.errata.Errata; -import com.redhat.rhn.domain.errata.test.ErrataFactoryTest; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.action.common.RhnSetAction; -import com.redhat.rhn.frontend.action.errata.PublishedErrataAction; - -/** - * PublishedErrataActionTest - * @version $Rev$ - */ -public class PublishedErrataActionTest extends BaseErrataActionTestCase { - - private PublishedErrataAction action; - - public void setUp() { - action = new PublishedErrataAction(); - } - - protected RhnSetAction getAction() { - return action; - } - - protected Errata createErrata(User user) throws Exception { - return ErrataFactoryTest.createTestPublishedErrata(user.getOrg().getId()); - } - -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/test/UnpublishedErrataActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/errata/test/UnpublishedErrataActionTest.java deleted file mode 100644 index b3cc4e9..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/test/UnpublishedErrataActionTest.java +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.errata.test; - -import com.redhat.rhn.domain.errata.Errata; -import com.redhat.rhn.domain.errata.test.ErrataFactoryTest; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.action.common.RhnSetAction; -import com.redhat.rhn.frontend.action.errata.UnpublishedErrataAction; - -/** - * UnpublishedErrataActionTest - * @version $Rev$ - */ -public class UnpublishedErrataActionTest extends BaseErrataActionTestCase { - private UnpublishedErrataAction action; - - public void setUp() { - action = new UnpublishedErrataAction(); - } - - protected RhnSetAction getAction() { - return action; - } - - protected Errata createErrata(User user) throws Exception { - return ErrataFactoryTest.createTestUnpublishedErrata(user.getOrg().getId()); - } -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/test/UnpublishedErrataSetupActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/errata/test/UnpublishedErrataSetupActionTest.java deleted file mode 100644 index 6c101fa..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/test/UnpublishedErrataSetupActionTest.java +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.errata.test; - -import com.redhat.rhn.domain.rhnset.RhnSet; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.action.errata.UnpublishedErrataSetupAction; -import com.redhat.rhn.frontend.struts.RequestContext; -import com.redhat.rhn.testing.ActionHelper; -import com.redhat.rhn.testing.RhnBaseTestCase; -import com.redhat.rhn.testing.RhnMockHttpServletRequest; - -/** - * UnpublishedErrataSetupActionTest - * @version $Rev$ - */ -public class UnpublishedErrataSetupActionTest extends RhnBaseTestCase { - private UnpublishedErrataSetupAction action; - - public void setUp() { - action = new UnpublishedErrataSetupAction(); - } - - public void testExecute() throws Exception { - ActionHelper sah = new ActionHelper(); - sah.setUpAction(action); - sah.setupClampListBounds(); - sah.getRequest().setupAddParameter("newset", (String)null); - sah.getRequest().setupAddParameter("returnvisit", (String) null); - sah.executeAction(); - - - RhnMockHttpServletRequest request = sah.getRequest(); - User user = new RequestContext(request).getLoggedInUser(); - RhnSet set = (RhnSet) request.getAttribute("set"); - - assertNotNull(request.getAttribute("pageList")); - assertEquals(user, request.getAttribute("user")); - assertNotNull(set); - assertEquals("errata_to_delete", set.getLabel()); - } -} diff --git a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java index eb08882..523d866 100644 --- a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java +++ b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java @@ -328,11 +328,10 @@ public class ErrataManager extends BaseManager { /** * Returns all of the unpublished errata. * @param user Currently logged in user. - * @param pc PageControl * @return all of the errata. */ - public static DataResult unpublishedOwnedErrata(User user, PageControl pc) { - return ownedErrata(user, pc, "unpublished_owned_errata"); + public static DataResult unpublishedOwnedErrata(User user) { + return ownedErrata(user, "unpublished_owned_errata"); }
/** @@ -349,13 +348,12 @@ public class ErrataManager extends BaseManager { /** * Returns all of the published errata. * @param user Currently logged in user. - * @param pc PageControl * @return all of the errata. */ - public static DataResult publishedOwnedErrata(User user, PageControl pc) { - return ownedErrata(user, pc, "published_owned_errata"); + public static DataResult publishedOwnedErrata(User user) { + return ownedErrata(user, "published_owned_errata"); } - + /** * Returns all of the published errata. * @param user Currently logged in user. @@ -414,6 +412,13 @@ public class ErrataManager extends BaseManager { return dr; }
+ private static DataResult ownedErrata(User user, String mode) { + SelectMode m = ModeFactory.getMode("Errata_queries", mode); + Map params = new HashMap(); + params.put("org_id", user.getOrg().getId()); + return makeDataResult(params, new HashMap(), null, m); + } + /** * Helper method to get the unpublished/published errata in the set * @param user Currently logged in user diff --git a/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java b/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java index cf58c53..35e721f 100644 --- a/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java +++ b/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java @@ -199,10 +199,7 @@ public class ErrataManagerTest extends RhnBaseTestCase {
public void testUnpublishedErrata() { User user = UserTestUtils.findNewUser("testUser", "testOrg"); - PageControl pc = new PageControl(); - pc.setStart(1); - pc.setPageSize(20); - DataResult errata = ErrataManager.unpublishedOwnedErrata(user, pc); + DataResult errata = ErrataManager.unpublishedOwnedErrata(user); assertNotNull(errata); assertTrue(errata.size() <= 20); } diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf index 78f1e57..d3c1440 100644 --- a/java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf +++ b/java/code/webapp/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf @@ -1,31 +1,51 @@ +<rl:listset name="groupSet" legend="errata">
- <rhn:listdisplay set="${requestScope.set}" hiddenvars="${requestScope.newset}" - button="erratalist.jsp.deleteerrata" filterBy="erratalist.jsp.synopsis"> - <rhn:set value="${current.id}" /> - <rhn:column header="erratalist.jsp.type"> - <c:if test="${current.securityAdvisory}"> - <img src="/img/wrh-security.gif" - alt="<bean:message key='erratalist.jsp.securityadvisory'/>" - title="<bean:message key='erratalist.jsp.securityadvisory'/>" /> - </c:if> - <c:if test="${current.bugFix}"> - <img src="/img/wrh-bug.gif" - alt="<bean:message key='erratalist.jsp.bugadvisory'/>" - title="<bean:message key='erratalist.jsp.bugadvisory'/>" /> - </c:if> - <c:if test="${current.productEnhancement}"> - <img src="/img/wrh-product.gif" - alt="<bean:message key='erratalist.jsp.productenhancementadvisory'/>" - title="<bean:message key='erratalist.jsp.productenhancementadvisory'/>" /> - </c:if> - </rhn:column> - <rhn:column header="erratalist.jsp.advisory"> - <a href="/rhn/errata/manage/Edit.do?eid=${current.id}">${current.advisoryName}</a> - </rhn:column> - <rhn:column header="erratalist.jsp.synopsis"> - ${current.synopsis} - </rhn:column> - <rhn:column header="erratalist.jsp.updated"> - ${current.updateDate} - </rhn:column> - </rhn:listdisplay> + <rl:list emptykey="erratalist.jsp.deleteerrata"> + + <rl:decorator name="PageSizeDecorator"/> + <rl:decorator name="SelectableDecorator"/> + + <rl:selectablecolumn value="${current.selectionKey}" + selected="${current.selected}" + disabled="${not current.selectable}" + styleclass="first-column"/> + + <rl:column headerkey="erratalist.jsp.type"> + <c:if test="${current.securityAdvisory}"> + <img src="/img/wrh-security.gif" + alt="<bean:message key='erratalist.jsp.securityadvisory'/>" + title="<bean:message key='erratalist.jsp.securityadvisory'/>"/> + </c:if> + <c:if test="${current.bugFix}"> + <img src="/img/wrh-bug.gif" + alt="<bean:message key='erratalist.jsp.bugadvisory'/>" + title="<bean:message key='erratalist.jsp.bugadvisory'/>"/> + </c:if> + <c:if test="${current.productEnhancement}"> + <img src="/img/wrh-product.gif" + alt="<bean:message key='erratalist.jsp.productenhancementadvisory'/>" + title="<bean:message key='erratalist.jsp.productenhancementadvisory'/>"/> + </c:if> + </rl:column> + <rl:column headerkey="erratalist.jsp.advisory" + filterattr="advisorySynopsis"> + <a href="/rhn/errata/manage/Edit.do?eid=${current.id}">${current.advisoryName}</a> + </rl:column> + <rl:column headerkey="erratalist.jsp.synopsis"> + ${current.synopsis} + </rl:column> + <rl:column headerkey="erratalist.jsp.updated"> + ${current.updateDate} + </rl:column> + + </rl:list> + + <div align="right"> + rhn:submitted/ + <hr/> + <input type="submit" + name="dispatch" + value='<bean:message key="erratalist.jsp.deleteerrata"/>'/> + </div> + +</rl:listset> diff --git a/java/code/webapp/WEB-INF/pages/errata/published.jsp b/java/code/webapp/WEB-INF/pages/errata/published.jsp index 2640e9d..67cfba7 100644 --- a/java/code/webapp/WEB-INF/pages/errata/published.jsp +++ b/java/code/webapp/WEB-INF/pages/errata/published.jsp @@ -1,4 +1,5 @@ <%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn" %> +<%@ taglib uri="http://rhn.redhat.com/tags/list" prefix="rl" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %> @@ -25,11 +26,8 @@ <bean:message key="erratalist.jsp.ownederratapagesummary"/> </div> <c:set var="pageList" value="${requestScope.pageList}" /> -<form method="post" name="rhn_list" action="/rhn/errata/manage/PublishedErrataSubmit.do"> - <rhn:list pageList="${requestScope.pageList}" noDataText="erratalist.jsp.nopublishederrata" - legend="errata"> - <%@ include file="/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf" %> - </rhn:list> -</form> + +<%@ include file="/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf" %> + </body> </html:html> diff --git a/java/code/webapp/WEB-INF/pages/errata/unpublished.jsp b/java/code/webapp/WEB-INF/pages/errata/unpublished.jsp index b197fae..0a2bc6b 100644 --- a/java/code/webapp/WEB-INF/pages/errata/unpublished.jsp +++ b/java/code/webapp/WEB-INF/pages/errata/unpublished.jsp @@ -1,4 +1,5 @@ <%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn" %> +<%@ taglib uri="http://rhn.redhat.com/tags/list" prefix="rl" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %> @@ -25,13 +26,9 @@ <bean:message key="erratalist.jsp.ownederratapagesummary"/> </div> <c:set var="pageList" value="${requestScope.pageList}" /> -<form method="post" name="rhn_list" action="/rhn/errata/manage/UnpublishedErrataSubmit.do"> - <rhn:list pageList="${requestScope.pageList}" noDataText="erratalist.jsp.nounpublishederrata" - legend="errata"> - <%@ include file="/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf" %> - </rhn:list> -</form> + +<%@ include file="/WEB-INF/pages/common/fragments/errata/ownedlistdisplay.jspf" %> + </body> </html:html>
- diff --git a/java/code/webapp/WEB-INF/struts-config.xml b/java/code/webapp/WEB-INF/struts-config.xml index d335ea5..9bece67 100644 --- a/java/code/webapp/WEB-INF/struts-config.xml +++ b/java/code/webapp/WEB-INF/struts-config.xml @@ -1814,48 +1814,26 @@ <action path="/errata/manage/UnpublishedErrata" scope="request" input="/WEB-INF/pages/errata/unpublished.jsp" - type="com.redhat.rhn.frontend.action.errata.UnpublishedErrataSetupAction" + type="com.redhat.rhn.frontend.action.errata.UnpublishedErrataAction" className="com.redhat.rhn.frontend.struts.RhnActionMapping"> <set-property property="acls" value="user_role(channel_admin)"/> <forward name="default" path="/WEB-INF/pages/errata/unpublished.jsp" /> + <forward name="continue" + path="/errata/manage/UnpublishedDeleteConfirm.do" redirect="true"/> </action>
- <action path="/errata/manage/UnpublishedErrataSubmit" - scope="request" - input="/WEB-INF/pages/errata/unpublished.jsp" - type="com.redhat.rhn.frontend.action.errata.UnpublishedErrataAction" - parameter="dispatch" - className="com.redhat.rhn.frontend.struts.RhnActionMapping"> - <set-property property="acls" value="user_role(channel_admin)"/> - <forward name="default" - path="/errata/manage/UnpublishedErrata.do" redirect="true"/> - <forward name="delete" - path="/errata/manage/UnpublishedDeleteConfirm.do" redirect="true"/> - </action> - - <action path="/errata/manage/PublishedErrata" + <action path="/errata/manage/PublishedErrata" scope="request" input="/WEB-INF/pages/errata/published.jsp" - type="com.redhat.rhn.frontend.action.errata.PublishedErrataSetupAction" + type="com.redhat.rhn.frontend.action.errata.PublishedErrataAction" className="com.redhat.rhn.frontend.struts.RhnActionMapping"> <set-property property="acls" value="user_role(channel_admin)"/> <forward name="default" path="/WEB-INF/pages/errata/published.jsp" /> - </action> - - <action path="/errata/manage/PublishedErrataSubmit" - scope="request" - input="/WEB-INF/pages/errata/unpublished.jsp" - type="com.redhat.rhn.frontend.action.errata.PublishedErrataAction" - parameter="dispatch" - className="com.redhat.rhn.frontend.struts.RhnActionMapping"> - <set-property property="acls" value="user_role(channel_admin)"/> - <forward name="default" - path="/errata/manage/PublishedErrata.do" redirect="true"/> - <forward name="delete" - path="/errata/manage/PublishedDeleteConfirm.do" redirect="true"/> - </action> + <forward name="continue" + path="/errata/manage/PublishedDeleteConfirm.do" redirect="true"/> + </action>
<action path="/errata/manage/CloneErrata" scope="request"
commit 80f273a1c6511637611e586711b58b5f94462e96 Author: Justin Sherrill jsherril@redhat.com Date: Wed Mar 25 15:30:16 2009 -0400
446269 - fixed issue where you could not remove a package from a system if the package was not in one of the systems subscribed channels
diff --git a/backend/server/action/packages.py b/backend/server/action/packages.py index 7ebc961..1d872cc 100644 --- a/backend/server/action/packages.py +++ b/backend/server/action/packages.py @@ -70,11 +70,8 @@ def verify(serverId, actionId): return packages
-def update(serverId, actionId): +def handle_action(serverId, actionId, packagesIn): log_debug(3, serverId, actionId) - h = rhnSQL.prepare(_packageStatement) - h.execute(serverid=serverId, actionid=actionId) - tmppackages = h.fetchall_dict()
client_caps = rhnCapability.get_client_capabilities() log_debug(3,"Client Capabilities", client_caps) @@ -83,12 +80,12 @@ def update(serverId, actionId): cap_info = client_caps['packages.update'] if cap_info['version'] > 1: multiarch = 1 - if not tmppackages: - raise InvalidAction("invalid action %s for server %s" % + if not packagesIn: + raise InvalidAction("Packages scheduled in action %s for server %s could not be found." % (actionId, serverId))
packages = [] - for package in tmppackages: + for package in packagesIn: # Fix the epoch if package['epoch'] is None: package['epoch'] = "" @@ -106,8 +103,17 @@ def update(serverId, actionId): return packages
-# remove is exactly the same as update -remove = update +def remove(serverId, actionId): + h = rhnSQL.prepare(_packageStatement_remove) + h.execute(actionid=actionId) + tmppackages = h.fetchall_dict() + return handle_action(serverId, actionId, tmppackages) + +def update(serverId, actionId): + h = rhnSQL.prepare(_packageStatement_update) + h.execute(serverid=serverId, actionid=actionId) + tmppackages = h.fetchall_dict() + return handle_action(serverId, actionId, tmppackages)
def refresh_list(serverId, actionId): @@ -188,7 +194,7 @@ def runTransaction(server_id, action_id): return { 'packages' : result }
# SQL statements -- used by update() -_packageStatement = """ +_packageStatement_update = """ select distinct pn.name name, pe.epoch epoch, @@ -233,3 +239,44 @@ _packageStatement = """ and p.id = cp.package_id and cp.channel_id = sc.channel_id and sc.server_id = :serverid""" + +_packageStatement_remove = """ + select distinct + pn.name name, + pe.epoch epoch, + pe.version version, + pe.release release, + pa.label arch + from rhnActionPackage ap, + rhnPackage p, + rhnPackageName pn, + rhnPackageEVR pe, + rhnPackageArch pa, + rhnChannelPackage cp + where ap.action_id = :actionid + and ap.evr_id is not null + and ap.evr_id = p.evr_id + and ap.evr_id = pe.id + and ap.name_id = p.name_id + and ap.name_id = pn.id + and ap.package_arch_id = pa.id(+) + and p.id = cp.package_id + union + select distinct + pn.name name, + null version, + null release, + null epoch, + pa.label arch + from rhnActionPackage ap, + rhnPackage p, + rhnPackageName pn, + rhnPackageArch pa, + rhnChannelPackage cp + where ap.action_id = :actionid + and ap.evr_id is null + and ap.name_id = p.name_id + and p.name_id = pn.id + and ap.package_arch_id = pa.id(+) + and p.id = cp.package_id""" + diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml index e2c0e31..d6d41fe 100644 --- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml +++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/System_queries.xml @@ -1474,5 +1474,32 @@ DELETE FROM rhnSatelliteChannelFamily WHERE server_id = :sid </query> </mode>
+<mode name="has_package_available"> + <query params="server_id, nid, eid, aid"> + SELECT P.id + from rhnPackage P inner join + rhnChannelPackage CP on CP.package_id = P.id inner join + rhnServerChannel SC on SC.channel_id = CP.channel_id + where SC.server_id = :server_id + AND P.name_id = :nid + AND P.package_arch_id = :aid + AND P.evr_id = :eid + </query> +</mode> + +<mode name="has_package_available_no_arch"> + <query params="server_id, nid, eid"> + SELECT P.id + from rhnPackage P inner join + rhnChannelPackage CP on CP.package_id = P.id inner join + rhnServerChannel SC on SC.channel_id = CP.channel_id + where SC.server_id = :server_id + AND P.name_id = :nid + AND P.evr_id = :eid + </query> +</mode> + + + </datasource_modes>
diff --git a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/BaseSystemPackagesConfirmAction.java b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/BaseSystemPackagesConfirmAction.java index 5732c7f..ec21b96 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/BaseSystemPackagesConfirmAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/BaseSystemPackagesConfirmAction.java @@ -26,6 +26,7 @@ import com.redhat.rhn.frontend.struts.RhnAction; import com.redhat.rhn.frontend.struts.SessionSetHelper; import com.redhat.rhn.frontend.struts.StrutsDelegate; import com.redhat.rhn.frontend.taglibs.list.ListTagHelper; +import com.redhat.rhn.manager.entitlement.EntitlementManager; import com.redhat.rhn.manager.system.SystemManager;
import org.apache.commons.lang.StringUtils; @@ -80,6 +81,27 @@ public abstract class BaseSystemPackagesConfirmAction extends RhnAction {
Server server = requestContext.lookupAndBindServer();
+ /* + * If we are removing a package that is not in a channel the server is + * subscribed to, then the rollback will not work, lets give the user + * a message telling them that. + */ + if (this.getRemoteMode().equals(RemoveConfirmSetupAction.PACKAGE_REMOVE) && + server.hasEntitlement(EntitlementManager.PROVISIONING)) { + for (PackageListItem item : items) { + Map<String, Long> map = item.getKeyMap(); + if (!SystemManager.hasPackageAvailable(server, map.get("name_id"), + map.get("arch_id"), map.get("evr_id"))) { + ActionMessages msgs = new ActionMessages(); + msgs.add(ActionMessages.GLOBAL_MESSAGE, + new ActionMessage("package.remove.cant.rollback")); + getStrutsDelegate().saveMessages(request, msgs); + break; + } + + } + } + DynaActionForm dynaForm = (DynaActionForm) formIn; DatePicker picker = getStrutsDelegate().prepopulateDatePicker(request, dynaForm, "date", DatePicker.YEAR_RANGE_POSITIVE); diff --git a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/RemoveConfirmSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/RemoveConfirmSetupAction.java index 9569881..02e9a96 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/RemoveConfirmSetupAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/RemoveConfirmSetupAction.java @@ -31,7 +31,7 @@ import java.util.Map; public class RemoveConfirmSetupAction extends BaseSystemPackagesConfirmAction {
private static final PackageListSetupAction DECL_ACTION = new PackageListSetupAction(); - private static final String PACKAGE_REMOVE = "remove"; + protected static final String PACKAGE_REMOVE = "remove";
@Override protected String getRemoteMode() { diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml index a34a5cf..9d49dfd 100644 --- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml +++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml @@ -7978,6 +7978,12 @@ Follow this url to see the full list of inactive systems: <source>Label</source> </trans-unit>
+ <trans-unit id="package.remove.cant.rollback"> + <source>One or more of the packages you have selected for removal below are not contained in + a software channel that this system is subscribed to. If you choose to continue with the removal + you will not be able to rollback this system to this snapshot or any prior snapshot.</source> + </trans-unit> + <trans-unit id="list.filter.iprange"> <source>Single Ip Address</source> </trans-unit> diff --git a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java index 4a072c3..bd8ab9f 100644 --- a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java +++ b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java @@ -2362,4 +2362,34 @@ public class SystemManager extends BaseManager {
server.getNotes().clear(); } + + /** + * Is the package with nameId, archId, and evrId available in the + * provided server's subscribed channels + * @param server the server + * @param nameId the name id + * @param archId the arch id + * @param evrId the evr id + * @return true if available, false otherwise + */ + public static boolean hasPackageAvailable(Server server, Long nameId, + Long archId, Long evrId) { + Map params = new HashMap(); + params.put("server_id", server.getId()); + params.put("eid", evrId); + params.put("nid", nameId); + + String mode = "has_package_available"; + if (archId == null) { + mode = "has_package_available_no_arch"; + } + else { + params.put("aid", archId); + } + SelectMode m = + ModeFactory.getMode("System_queries", mode); + DataResult toReturn = m.execute(params); + return toReturn.size() > 0; + + } } diff --git a/java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java b/java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java index c75f012..d37fefd 100644 --- a/java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java +++ b/java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java @@ -1244,4 +1244,30 @@ public class SystemManagerTest extends RhnBaseTestCase { assertEquals(0, sizeAfterDelete);
} + + + public void testHasPackageAvailable() throws Exception { + User admin = UserTestUtils.findNewUser("testUser", "testOrg"); + Server server = ServerTestUtils.createTestSystem(admin); + + Package pack = PackageTest.createTestPackage(admin.getOrg()); + assertFalse(SystemManager.hasPackageAvailable(server, + pack.getPackageName().getId(), pack.getPackageArch().getId(), + pack.getPackageEvr().getId())); + + assertFalse(SystemManager.hasPackageAvailable(server, + pack.getPackageName().getId(), null, + pack.getPackageEvr().getId())); + + server.getBaseChannel().addPackage(pack); + TestUtils.saveAndFlush(pack); + assertTrue(SystemManager.hasPackageAvailable(server, + pack.getPackageName().getId(), pack.getPackageArch().getId(), + pack.getPackageEvr().getId())); + assertTrue(SystemManager.hasPackageAvailable(server, + pack.getPackageName().getId(), null, + pack.getPackageEvr().getId())); + + } + } diff --git a/java/code/webapp/WEB-INF/pages/systems/details/packages/packageconfirm.jsp b/java/code/webapp/WEB-INF/pages/systems/details/packages/packageconfirm.jsp index 160dcaa..be6a601 100644 --- a/java/code/webapp/WEB-INF/pages/systems/details/packages/packageconfirm.jsp +++ b/java/code/webapp/WEB-INF/pages/systems/details/packages/packageconfirm.jsp @@ -8,9 +8,6 @@ <html>
<body> -<html:messages id="message" message="true"> - rhn:messages<c:out escapeXml="false" value="${message}" /></rhn:messages> -</html:messages>
<%@ include file="/WEB-INF/pages/common/fragments/systems/system-header.jspf" %> <h2>
commit 1e2fad3293b836a96ce3c1c71ddb626cc14ca6b2 Author: Partha Aji paji@redhat.com Date: Wed Mar 25 15:01:57 2009 -0400
Oops adding a forgotten cobbler.jsp file ...... bbuckingham++
diff --git a/java/code/webapp/WEB-INF/pages/admin/config/cobbler.jsp b/java/code/webapp/WEB-INF/pages/admin/config/cobbler.jsp new file mode 100644 index 0000000..4490b02 --- /dev/null +++ b/java/code/webapp/WEB-INF/pages/admin/config/cobbler.jsp @@ -0,0 +1,53 @@ +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn" %> +<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %> +<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %> + +<html:html xhtml="true"> + +<body> + +<html:errors /> +<html:messages id="message" message="true"> + rhn:messages<c:out escapeXml="false" value="${message}" /></rhn:messages> +</html:messages> + +<rhn:toolbar base="h1" img="/img/rhn-icon-info.gif" imgAlt="info.alt.img"> + <bean:message key="cobbler.jsp.toolbar"/> +</rhn:toolbar> + +<div class="page-summary"> + <p> + <bean:message key="cobbler.jsp.summary1"/> + </p> + <p> + <bean:message key="cobbler.jsp.summary2"/> + </p> + <p> + <bean:message key="cobbler.jsp.summary3"/> + </p> +</div> +<rhn:dialogmenu mindepth="0" maxdepth="1" definition="/WEB-INF/nav/sat_config.xml" renderer="com.redhat.rhn.frontend.nav.DialognavRenderer" /> + +<h2><bean:message key="cobbler.jsp.header2"/></h2> + +<div> +<form action="/rhn/admin/config/Cobbler.do"> + <table class="details"> + <tr> + <th> + <bean:message key="cobbler.jsp.sync"/> + </th> + <td> + <input type="submit" name="cobbler_sync" value="${rhn:localize('update')}" /> + </td> + </tr> + </table> + <hr/> +rhn:submitted/ +</form> +</div> + +</body> +</html:html> +
commit 1d885c4a2e4a0c3d8b4d8f12bbe0bd20f3dac6e5 Author: Brad Buckingham bbuckingham@redhat.com Date: Wed Mar 25 14:38:14 2009 -0400
491762 - ProfileManagerTest - adding a test for profile comparisons with varying epoch values
diff --git a/java/code/src/com/redhat/rhn/manager/profile/test/ProfileManagerTest.java b/java/code/src/com/redhat/rhn/manager/profile/test/ProfileManagerTest.java index e98569f..2823871 100644 --- a/java/code/src/com/redhat/rhn/manager/profile/test/ProfileManagerTest.java +++ b/java/code/src/com/redhat/rhn/manager/profile/test/ProfileManagerTest.java @@ -279,7 +279,6 @@ public class ProfileManagerTest extends RhnBaseTestCase { pli.setVersion("2.4.22"); pli.setEpoch(null); a.add(pli); -
List b = new ArrayList(); pli = new PackageListItem(); @@ -315,7 +314,6 @@ public class ProfileManagerTest extends RhnBaseTestCase { pli.setVersion("2.4.22"); pli.setEpoch(null); b.add(pli); -
List a = new ArrayList(); pli = new PackageListItem(); @@ -339,6 +337,55 @@ public class ProfileManagerTest extends RhnBaseTestCase { assertEquals("kernel-2.4.21-27.EL", pm.getOther().getEvr()); }
+ public void testDifferingEpochsofSamePackage() { + // this test will perform a package comparison between 2 packages where + // the epochs in those packages vary, including null values + + String[] pkg1Epochs = {null, "0", null, "0"}; + String[] pkg2Epochs = {null, null, "0", "0"}; + + List<PackageListItem> a = new ArrayList<PackageListItem>(); + PackageListItem pli1 = new PackageListItem(); + pli1.setIdCombo("500000341|000000"); + pli1.setEvrId(new Long(000000)); + pli1.setName("kernel"); + pli1.setRelease("27.EL-bretm"); + pli1.setNameId(new Long(500000341)); + pli1.setEvr("kernel-2.4.22-27.EL-bretm"); + pli1.setVersion("2.4.22"); + + List<PackageListItem> b = new ArrayList<PackageListItem>(); + PackageListItem pli2 = new PackageListItem(); + pli2.setIdCombo("500000341|258204"); + pli2.setEvrId(new Long(258204)); + pli2.setName("kernel"); + pli2.setRelease("27.EL"); + pli2.setNameId(new Long(500000341)); + pli2.setEvr("kernel-2.4.21-27.EL"); + pli2.setVersion("2.4.21"); + + for (int i = 0; i < pkg1Epochs.length; i++) { + pli1.setEpoch(pkg1Epochs[i]); + pli2.setEpoch(pkg2Epochs[i]); + + a.clear(); + a.add(pli1); + b.clear(); + b.add(pli2); + + List diff = ProfileManager.comparePackageLists( + new DataResult(a), new DataResult(b), "foo"); + assertEquals(1, diff.size()); + PackageMetadata pm = (PackageMetadata) diff.get(0); + assertNotNull(pm); + assertEquals(PackageMetadata.KEY_OTHER_NEWER, pm.getComparisonAsInt()); + assertEquals("kernel-2.4.22-27.EL-bretm", pm.getOther().getEvr()); + assertEquals(pkg1Epochs[i], pm.getOther().getEpoch()); + assertEquals("kernel-2.4.21-27.EL", pm.getSystem().getEvr()); + assertEquals(pkg2Epochs[i], pm.getSystem().getEpoch()); + } + } + public static PackageListItem createItem(String evrString, int nameId) { PackageListItem pli = new PackageListItem(); String[] evr = StringUtils.split(evrString, "-");
commit a93b8779a4638fc9f45a960e866d1b9f4e3e3bd3 Author: Partha Aji paji@redhat.com Date: Wed Mar 25 14:34:59 2009 -0400
Fixed a unit test w.r.t deactivateProxy
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/test/ProxyHandlerTest.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/test/ProxyHandlerTest.java index 90c31eb..794aac6 100644 --- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/test/ProxyHandlerTest.java +++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/proxy/test/ProxyHandlerTest.java @@ -35,8 +35,7 @@ public class ProxyHandlerTest extends RhnBaseTestCase { user.addRole(RoleFactory.ORG_ADMIN); Server server = ServerFactoryTest.createTestProxyServer(user, true); assertTrue(server.isProxy()); - SystemManager.deactivateProxy(server); - server = (Server) reload(server); + server = SystemManager.deactivateProxy(server); assertFalse(server.isProxy()); }
diff --git a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java index 53eae72..4a072c3 100644 --- a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java +++ b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java @@ -1261,9 +1261,12 @@ public class SystemManager extends BaseManager {
/** * Deactivates the given proxy. + * Make sure you either reload the server after this call,, + * or use the returned Server object * @param server ProxyServer to be deactivated. + * @return deproxified server. */ - public static void deactivateProxy(Server server) { + public static Server deactivateProxy(Server server) { Long sid = server.getId();
Set channels = server.getChannels(); @@ -1287,10 +1290,13 @@ public class SystemManager extends BaseManager { executeWriteMode("Monitoring_queries", "delete_sat_cluster_for_server", params);
- // freakin hibernate can't do a simple bulk delete statement unless - // it uses HQL! + // At this point we have the deletes happening + // in write mode. So our server which is a hibernate + // object is NOT in sync and so we have to reload + // for it to work.... server = (Server) HibernateFactory.reload(server); ServerFactory.deproxify(server); + return server; }
private static int executeWriteMode(String catalog, String mode, Map params) { diff --git a/java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java b/java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java index c816b90..c75f012 100644 --- a/java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java +++ b/java/code/src/com/redhat/rhn/manager/system/test/SystemManagerTest.java @@ -898,7 +898,7 @@ public class SystemManagerTest extends RhnBaseTestCase { user.addRole(RoleFactory.ORG_ADMIN); Server server = ServerFactoryTest.createTestProxyServer(user, true); assertTrue(server.isProxy()); - SystemManager.deactivateProxy(server); + server = SystemManager.deactivateProxy(server); ServerFactory.save(server); server = (Server) reload(server); assertFalse(server.isProxy());
commit 48197d2e8cd92756b41d45b3dad387dc62282f9b Author: Mike McCune mmccune@gmail.com Date: Wed Mar 25 10:29:57 2009 -0700
Automatic commit of package [spacewalk-schema] release [0.5.20-1].
diff --git a/rel-eng/packages/spacewalk-schema b/rel-eng/packages/spacewalk-schema index 5b78f57..61397bb 100644 --- a/rel-eng/packages/spacewalk-schema +++ b/rel-eng/packages/spacewalk-schema @@ -1 +1 @@ -0.5.19-1 schema/spacewalk/ +0.5.20-1 schema/spacewalk/ diff --git a/schema/spacewalk/spacewalk-schema.spec b/schema/spacewalk/spacewalk-schema.spec index ecd30e4..8f0ba0b 100644 --- a/schema/spacewalk/spacewalk-schema.spec +++ b/schema/spacewalk/spacewalk-schema.spec @@ -2,7 +2,7 @@ Name: spacewalk-schema Group: Applications/Internet Summary: Oracle SQL schema for Spacewalk server
-Version: 0.5.19 +Version: 0.5.20 Release: 1%{?dist} Source0: %{name}-%{version}.tar.gz
@@ -52,6 +52,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/spacewalk-schema-upgrade*
%changelog +* Wed Mar 25 2009 Mike McCune mmccune@gmail.com 0.5.20-1 +- 472595 - forgot the index in the table definition. was in the upgrade area only + * Thu Mar 19 2009 jesus m. rodriguez jesusr@redhat.com 0.5.19-1 - 487316 - disallows multiple eus channels to be considered the most recent - 472595 - fixes for kickstart performance, start porting ks downloads to java
commit 7b974a41d4ec7f7ea0bc02257ee5d90941b71ccb Author: Mike McCune mmccune@gmail.com Date: Wed Mar 25 10:26:29 2009 -0700
472595 - forgot the index in the table definition. was in the upgrade area only.
diff --git a/schema/spacewalk/rhnsat/tables/rhnPackage.sql b/schema/spacewalk/rhnsat/tables/rhnPackage.sql index 042d02b..625307f 100644 --- a/schema/spacewalk/rhnsat/tables/rhnPackage.sql +++ b/schema/spacewalk/rhnsat/tables/rhnPackage.sql @@ -105,6 +105,11 @@ create index rhn_package_nid_id_idx tablespace [[2m_tbs]] nologging;
+create index rhn_package_path_idx + on rhnPackage(id, path) + tablespace [[2m_tbs]] + nologging; + create or replace trigger rhn_package_mod_trig before insert or update on rhnPackage
commit 9f8d0f9172786012a8b7ff70d7653ac6580e7556 Author: Milan Zazrivec mzazrivec@redhat.com Date: Wed Mar 25 18:10:43 2009 +0100
Automatic commit of package [spacewalk-admin] release [0.5.15-1].
diff --git a/rel-eng/packages/spacewalk-admin b/rel-eng/packages/spacewalk-admin index 0e8c4dc..e05ad36 100644 --- a/rel-eng/packages/spacewalk-admin +++ b/rel-eng/packages/spacewalk-admin @@ -1 +1 @@ -0.5.14-1 spacewalk/admin/ +0.5.15-1 spacewalk/admin/ diff --git a/spacewalk/admin/spacewalk-admin.spec b/spacewalk/admin/spacewalk-admin.spec index 24ff29e..8f146d5 100644 --- a/spacewalk/admin/spacewalk-admin.spec +++ b/spacewalk/admin/spacewalk-admin.spec @@ -2,7 +2,7 @@ Summary: Various utility scripts and data files for RHN Satellite installations Name: spacewalk-admin URL: https://fedorahosted.org/spacewalk -Version: 0.5.14 +Version: 0.5.15 Release: 1%{?dist} Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... License: GPLv2 @@ -58,6 +58,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/validate-sat-cert.3.gz
%changelog +* Wed Mar 25 2009 Milan Zazrivec mzazrivec@redhat.com 0.5.15-1 +- rhn-satellite restarts oracle service rather than rhn-database + * Wed Mar 25 2009 jesus m. rodriguez jesusr@redhat.com 0.5.14-1 - some jabberd installs use jabberd, while others use jabber, check for both.
commit 143e0ef7181ffa4b1bae119e2a0b9d467d7f94f1 Author: Milan Zazrivec mzazrivec@redhat.com Date: Wed Mar 25 18:07:37 2009 +0100
on satellite the db service is no longer called rhn-satellite
diff --git a/spacewalk/admin/rhn-satellite b/spacewalk/admin/rhn-satellite index ab105fb..8d21d79 100755 --- a/spacewalk/admin/rhn-satellite +++ b/spacewalk/admin/rhn-satellite @@ -22,8 +22,8 @@
-if [ -x /etc/init.d/rhn-database ]; then - DB_SERVICE="rhn-database" +if [ -x /etc/init.d/oracle ]; then + DB_SERVICE="oracle" fi
if [ -x /etc/init.d/oracle-xe ]; then
commit 602b64e6aada86a7821dc8543d1304ae163565c5 Author: jesus m. rodriguez jesusr@redhat.com Date: Wed Mar 25 13:01:42 2009 -0400
Automatic commit of package [spacewalk-admin] release [0.5.14-1].
diff --git a/rel-eng/packages/spacewalk-admin b/rel-eng/packages/spacewalk-admin index d532de3..0e8c4dc 100644 --- a/rel-eng/packages/spacewalk-admin +++ b/rel-eng/packages/spacewalk-admin @@ -1 +1 @@ -0.5.13-1 spacewalk/admin/ +0.5.14-1 spacewalk/admin/ diff --git a/spacewalk/admin/spacewalk-admin.spec b/spacewalk/admin/spacewalk-admin.spec index cf42406..24ff29e 100644 --- a/spacewalk/admin/spacewalk-admin.spec +++ b/spacewalk/admin/spacewalk-admin.spec @@ -2,7 +2,7 @@ Summary: Various utility scripts and data files for RHN Satellite installations Name: spacewalk-admin URL: https://fedorahosted.org/spacewalk -Version: 0.5.13 +Version: 0.5.14 Release: 1%{?dist} Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... License: GPLv2 @@ -58,6 +58,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/validate-sat-cert.3.gz
%changelog +* Wed Mar 25 2009 jesus m. rodriguez jesusr@redhat.com 0.5.14-1 +- some jabberd installs use jabberd, while others use jabber, check for both. + * Wed Mar 25 2009 Jan Pazdziora 0.5.13-1 - 491687 - wrapper around sudo rhn-load-ssl-cert.pl, to change SELinux domain
commit 6ff2e4c035239140e85089bab690ff63add38303 Author: jesus m. rodriguez jesusr@redhat.com Date: Wed Mar 25 13:00:09 2009 -0400
some jabberd installs use jabberd, while others use jabber, check for both.
diff --git a/spacewalk/admin/rhn-generate-pem.pl b/spacewalk/admin/rhn-generate-pem.pl index 95675f5..3399e11 100644 --- a/spacewalk/admin/rhn-generate-pem.pl +++ b/spacewalk/admin/rhn-generate-pem.pl @@ -71,7 +71,15 @@ if ($out_file) { chmod(0600, $out_file); # rw by current user (probably root) only
my ($uid, $gid) = lookup_user_ids('jabberd'); - chown($uid, $gid, $out_file); + + # some installs of jabber use jabberd user, while others use jabber + if (not $uid) { + ($uid, $gid) = lookup_user_ids('jabber'); + } + + if($uid) { + chown($uid, $gid, $out_file); + } } else { print @content;
commit a21c4aeabb59a2c996102adc9a1acd61c8e1ae0d Author: jesus m. rodriguez jesusr@redhat.com Date: Wed Mar 25 11:59:11 2009 -0400
pass in --nowait as a default to make build
diff --git a/rel-eng/lib/spacewalk/releng/builder.py b/rel-eng/lib/spacewalk/releng/builder.py index ec6f9ea..9c9887b 100644 --- a/rel-eng/lib/spacewalk/releng/builder.py +++ b/rel-eng/lib/spacewalk/releng/builder.py @@ -466,7 +466,7 @@ class Builder(object): branch_dir = os.path.join(self.cvs_workdir, self.project_name, branch) os.chdir(branch_dir) - output = run_command("make build") + output = run_command("BUILD_FLAGS=--nowait make build") print(output)
def _can_build_in_cvs(self):
commit 74096f50eb42a207c6d1b5de6d68d21bc1d35333 Author: Milan Zazrivec mzazrivec@redhat.com Date: Wed Mar 25 16:24:45 2009 +0100
Automatic commit of package [spacewalk-setup] release [0.5.25-1].
diff --git a/rel-eng/packages/spacewalk-setup b/rel-eng/packages/spacewalk-setup index 1176ba9..2385830 100644 --- a/rel-eng/packages/spacewalk-setup +++ b/rel-eng/packages/spacewalk-setup @@ -1 +1 @@ -0.5.24-1 spacewalk/setup/ +0.5.25-1 spacewalk/setup/ diff --git a/spacewalk/setup/spacewalk-setup.spec b/spacewalk/setup/spacewalk-setup.spec index 9f52866..8efbd9c 100644 --- a/spacewalk/setup/spacewalk-setup.spec +++ b/spacewalk/setup/spacewalk-setup.spec @@ -1,5 +1,5 @@ Name: spacewalk-setup -Version: 0.5.24 +Version: 0.5.25 Release: 1%{?dist} Summary: Initial setup tools for Red Hat Spacewalk
@@ -94,6 +94,9 @@ rm -rf %{buildroot} %dir %{_sysconfdir}/pki/spacewalk/jabberd
%changelog +* Wed Mar 25 2009 Milan Zazrivec mzazrivec@redhat.com 0.5.25-1 +- 491091 - don't match lines in ssl.conf that are commented out + * Tue Mar 24 2009 Dennis Gilmore dennis@ausil.us 0.5.24-1 - write jabberd server.pem to /etc/pki/spacewalk/jabberd
commit 24036df754c467d75c84ae8447a2b88a3d9a07aa Author: Milan Zazrivec mzazrivec@redhat.com Date: Wed Mar 25 16:20:13 2009 +0100
491091 - service httpd start fails: Multiple RSA server certificates not allowed
diff --git a/spacewalk/setup/share/ssl.conf.1 b/spacewalk/setup/share/ssl.conf.1 index 5a969a1..af3452b 100644 --- a/spacewalk/setup/share/ssl.conf.1 +++ b/spacewalk/setup/share/ssl.conf.1 @@ -1,2 +1,2 @@ -^#*[ \t]*RewriteEngine.*\n +^[ \t]*RewriteEngine.*\n RewriteEngine on diff --git a/spacewalk/setup/share/ssl.conf.2 b/spacewalk/setup/share/ssl.conf.2 index 39e65ad..2d86729 100644 --- a/spacewalk/setup/share/ssl.conf.2 +++ b/spacewalk/setup/share/ssl.conf.2 @@ -1,2 +1,2 @@ -^#*[ \t]*RewriteOptions.*\n +^[ \t]*RewriteOptions.*\n RewriteOptions inherit diff --git a/spacewalk/setup/share/ssl.conf.3 b/spacewalk/setup/share/ssl.conf.3 index 297c4ca..ecff629 100644 --- a/spacewalk/setup/share/ssl.conf.3 +++ b/spacewalk/setup/share/ssl.conf.3 @@ -1,2 +1,2 @@ -^#*[ \t]*SSLProxyEngine.*\n +^[ \t]*SSLProxyEngine.*\n SSLProxyEngine on diff --git a/spacewalk/setup/share/ssl.conf.4 b/spacewalk/setup/share/ssl.conf.4 index 92a7fb8..f2f08a3 100644 --- a/spacewalk/setup/share/ssl.conf.4 +++ b/spacewalk/setup/share/ssl.conf.4 @@ -1,2 +1,2 @@ -^#*[ \t]*SSLCertificateFile.*\n +^[ \t]*SSLCertificateFile.*\n SSLCertificateFile /etc/pki/tls/certs/spacewalk.crt diff --git a/spacewalk/setup/share/ssl.conf.5 b/spacewalk/setup/share/ssl.conf.5 index 2513d0a..f584246 100644 --- a/spacewalk/setup/share/ssl.conf.5 +++ b/spacewalk/setup/share/ssl.conf.5 @@ -1,2 +1,2 @@ -^#*[ \t]*SSLCertificateKeyFile.*\n +^[ \t]*SSLCertificateKeyFile.*\n SSLCertificateKeyFile /etc/pki/tls/private/spacewalk.key
commit 6009e4b08e0a923d69b6418736b28bef04038653 Author: Milan Zazrivec mzazrivec@redhat.com Date: Wed Mar 25 16:01:59 2009 +0100
Revert "491091 - splitting out the rhel4 vs rhel5 ssl.conf regexes. Each RHEL"
This reverts commit 70f65e75d87eb0f0a835841fd63c1436dd2fc12c.
It's sufficient to remove #* from ssl.conf[1-5] to avoid this problem.
diff --git a/spacewalk/setup/share/ssl.conf.4 b/spacewalk/setup/share/ssl.conf.4 index 9a437de..92a7fb8 100644 --- a/spacewalk/setup/share/ssl.conf.4 +++ b/spacewalk/setup/share/ssl.conf.4 @@ -1,2 +1,2 @@ -^#*[ \t]*SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt*\n +^#*[ \t]*SSLCertificateFile.*\n SSLCertificateFile /etc/pki/tls/certs/spacewalk.crt diff --git a/spacewalk/setup/share/ssl.conf.5 b/spacewalk/setup/share/ssl.conf.5 index e20680b..2513d0a 100644 --- a/spacewalk/setup/share/ssl.conf.5 +++ b/spacewalk/setup/share/ssl.conf.5 @@ -1,2 +1,2 @@ -^#*[ \t]*SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key*\n +^#*[ \t]*SSLCertificateKeyFile.*\n SSLCertificateKeyFile /etc/pki/tls/private/spacewalk.key diff --git a/spacewalk/setup/share/ssl.conf.6 b/spacewalk/setup/share/ssl.conf.6 deleted file mode 100644 index ad2ff40..0000000 --- a/spacewalk/setup/share/ssl.conf.6 +++ /dev/null @@ -1,2 +0,0 @@ -^#*[ \t]*SSLCertificateFile /etc/pki/tls/certs/localhost.crt*\n -SSLCertificateFile /etc/pki/tls/certs/spacewalk.crt diff --git a/spacewalk/setup/share/ssl.conf.7 b/spacewalk/setup/share/ssl.conf.7 deleted file mode 100644 index 54faea1..0000000 --- a/spacewalk/setup/share/ssl.conf.7 +++ /dev/null @@ -1,2 +0,0 @@ -^#*[ \t]*SSLCertificateKeyFile /etc/pki/tls/private/localhost.key*\n -SSLCertificateKeyFile /etc/pki/tls/private/spacewalk.key
commit 873db893f752b6de24ed952fd53fb67f5dd09f64 Author: Devan Goodwin dgoodwin@redhat.com Date: Wed Mar 25 10:57:18 2009 -0300
Automatic commit of package [spacewalk-backend] release [0.5.26-1].
diff --git a/backend/spacewalk-backend.spec b/backend/spacewalk-backend.spec index 6c2eefb..e6472f1 100644 --- a/backend/spacewalk-backend.spec +++ b/backend/spacewalk-backend.spec @@ -7,7 +7,7 @@ Name: spacewalk-backend Summary: Common programs needed to be installed on the Spacewalk servers/proxies Group: Applications/Internet License: GPLv2 -Version: 0.5.25 +Version: 0.5.26 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -561,6 +561,14 @@ rm -f %{rhnconf}/rhnSecret.py*
# $Id$ %changelog +* Wed Mar 25 2009 Devan Goodwin dgoodwin@redhat.com 0.5.26-1 +- 487621 - Fix segfaults rhnpush has been causing server-side on Fedora 10. +- Fix Oracle exception handling in procedure calls. +- 485529 - Fix to handle empty or missing ip_addr on a disabled interface. +- 482830 - Fix rpm fetch to include the xml-dump-version in httpd headers during GET requests. +- 483811 - Fix orgid based sync logic. +- 480252 - Raise meaningful exception instead of traceback on Oracle column size error. + * Thu Mar 19 2009 Pradeep Kilambi pkilambi@redhat.com 0.5.25-1 - 468686 - restricts deactivated accounts from registering systems and managing systems. - 485532 - Adding the overriding config values for apachec process sizelimit issue diff --git a/rel-eng/packages/spacewalk-backend b/rel-eng/packages/spacewalk-backend index 8977632..fb5b620 100644 --- a/rel-eng/packages/spacewalk-backend +++ b/rel-eng/packages/spacewalk-backend @@ -1 +1 @@ -0.5.25-1 backend/ +0.5.26-1 backend/
commit c6ea3346a64ec46877ad591670cbeaf5531e82e4 Author: Miroslav Suchý msuchy@redhat.com Date: Wed Mar 25 14:50:51 2009 +0100
Automatic commit of package [nocpulse-common] release [2.1.8-1].
diff --git a/monitoring/nocpulse-common/nocpulse-common.spec b/monitoring/nocpulse-common/nocpulse-common.spec index 0acfae7..78d5982 100644 --- a/monitoring/nocpulse-common/nocpulse-common.spec +++ b/monitoring/nocpulse-common/nocpulse-common.spec @@ -1,5 +1,5 @@ Name: nocpulse-common -Version: 2.1.7 +Version: 2.1.8 Release: 1%{?dist} Summary: NOCpulse common License: GPLv2 @@ -101,7 +101,7 @@ fi rm -rf $RPM_BUILD_ROOT
%changelog -* Wed Mar 25 2009 Miroslav Suchý msuchy@redhat.com +* Wed Mar 25 2009 Miroslav Suchý msuchy@redhat.com 2.1.8-1 - be sure that nocpulse home is correct after upgrade
* Thu Mar 5 2009 Miroslav Suchý msuchy@redhat.com 2.1.7-1 diff --git a/rel-eng/packages/nocpulse-common b/rel-eng/packages/nocpulse-common index 2417cd2..408e14d 100644 --- a/rel-eng/packages/nocpulse-common +++ b/rel-eng/packages/nocpulse-common @@ -1 +1 @@ -2.1.7-1 monitoring/nocpulse-common/ +2.1.8-1 monitoring/nocpulse-common/
commit 3a49492398b93f0a94628f08f7bf158c24bdf1f8 Author: Miroslav Suchý msuchy@redhat.com Date: Wed Mar 25 14:50:36 2009 +0100
Automatic commit of package [spacewalk-proxy-monitoring] release [0.4.4-1].
diff --git a/monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec b/monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec index d167cc7..fff645d 100644 --- a/monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec +++ b/monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec @@ -2,7 +2,7 @@ Summary: Meta-package that pulls in all of the Spacewalk monitoring packages Name: spacewalk-proxy-monitoring Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... -Version: 0.4.3 +Version: 0.4.4 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk License: GPLv2 @@ -78,7 +78,7 @@ rm -rf $RPM_BUILD_ROOT %doc README
%changelog -* Wed Mar 25 2009 Miroslav Suchý msuchy@redhat.com +* Wed Mar 25 2009 Miroslav Suchý msuchy@redhat.com 0.4.4-1 - be sure that nocpulse home is correct
* Thu Mar 12 2009 Miroslav Suchý msuchy@redhat.com 0.4.3-1 diff --git a/rel-eng/packages/spacewalk-proxy-monitoring b/rel-eng/packages/spacewalk-proxy-monitoring index 09ec70f..965a5e6 100644 --- a/rel-eng/packages/spacewalk-proxy-monitoring +++ b/rel-eng/packages/spacewalk-proxy-monitoring @@ -1 +1 @@ -0.4.3-1 monitoring/spacewalk-proxy-monitoring/ +0.4.4-1 monitoring/spacewalk-proxy-monitoring/
commit d2ab32bae6abf700721e086a668f995aa0c37865 Author: Miroslav Suchý msuchy@redhat.com Date: Wed Mar 25 14:50:27 2009 +0100
Automatic commit of package [spacewalk-monitoring] release [0.5.4-1].
diff --git a/monitoring/spacewalk-monitoring/spacewalk-monitoring.spec b/monitoring/spacewalk-monitoring/spacewalk-monitoring.spec index 2ef2860..9605f14 100644 --- a/monitoring/spacewalk-monitoring/spacewalk-monitoring.spec +++ b/monitoring/spacewalk-monitoring/spacewalk-monitoring.spec @@ -1,7 +1,7 @@ Summary: Spacewalk monitoring Name: spacewalk-monitoring Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... -Version: 0.5.3 +Version: 0.5.4 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk License: GPLv2 @@ -106,7 +106,7 @@ rm -rf $RPM_BUILD_ROOT %doc LICENSE
%changelog -* Wed Mar 25 2009 Miroslav Suchý msuchy@redhat.com +* Wed Mar 25 2009 Miroslav Suchý msuchy@redhat.com 0.5.4-1 - be sure that nocpulse home is correct
* Wed Mar 18 2009 Miroslav Suchý msuchy@redhat.com 0.5.3-1 diff --git a/rel-eng/packages/spacewalk-monitoring b/rel-eng/packages/spacewalk-monitoring index e77efa1..2959661 100644 --- a/rel-eng/packages/spacewalk-monitoring +++ b/rel-eng/packages/spacewalk-monitoring @@ -1 +1 @@ -0.5.3-1 monitoring/spacewalk-monitoring/ +0.5.4-1 monitoring/spacewalk-monitoring/
commit 473ee9cf42efab7acf2f0879e1de0da814d60125 Author: Miroslav Suchý msuchy@redhat.com Date: Wed Mar 25 14:48:32 2009 +0100
be sure that nocpulse home is correct after upgrade
diff --git a/monitoring/nocpulse-common/nocpulse-common.spec b/monitoring/nocpulse-common/nocpulse-common.spec index 9350045..0acfae7 100644 --- a/monitoring/nocpulse-common/nocpulse-common.spec +++ b/monitoring/nocpulse-common/nocpulse-common.spec @@ -69,6 +69,13 @@ if [ $1 -eq 1 ] ; then /usr/bin/passwd -l %{package_name} >/dev/null exit 0 fi +# Old NOCpulse packages has home in /home/nocpulse. +# We need to migrate them to new place. +if getent passwd %{package_name} >/dev/null && [ -d /home/nocpulse ]; then + /usr/sbin/usermod -d %{_var}/lib/%{package_name} -m nocpulse + rm -rf %{_var}/lib/nocpulse/bin + rm -rf %{_var}/lib/nocpulse/var +fi
%post if [ ! -f %{identity} ] @@ -94,6 +101,9 @@ fi rm -rf $RPM_BUILD_ROOT
%changelog +* Wed Mar 25 2009 Miroslav Suchý msuchy@redhat.com +- be sure that nocpulse home is correct after upgrade + * Thu Mar 5 2009 Miroslav Suchý msuchy@redhat.com 2.1.7-1 - keep last 5 logs in logrotate
diff --git a/monitoring/spacewalk-monitoring/spacewalk-monitoring.spec b/monitoring/spacewalk-monitoring/spacewalk-monitoring.spec index e9f5963..2ef2860 100644 --- a/monitoring/spacewalk-monitoring/spacewalk-monitoring.spec +++ b/monitoring/spacewalk-monitoring/spacewalk-monitoring.spec @@ -13,12 +13,14 @@ BuildArch: noarch #Requires: perl-CGI-mp20
# Monitoring packages +#we need to be sure that nocpulse home is correct +Requires(pre): nocpulse-common + Requires: nocpulse-db-perl Requires: eventReceivers Requires: MessageQueue Requires: NOCpulsePlugins Requires: NPalert -Requires: nocpulse-common Requires: perl-NOCpulse-CLAC Requires: perl-NOCpulse-Debug Requires: perl-NOCpulse-Gritch @@ -104,6 +106,9 @@ rm -rf $RPM_BUILD_ROOT %doc LICENSE
%changelog +* Wed Mar 25 2009 Miroslav Suchý msuchy@redhat.com +- be sure that nocpulse home is correct + * Wed Mar 18 2009 Miroslav Suchý msuchy@redhat.com 0.5.3-1 - 489573 - we do not conflict with rhnmd any more
diff --git a/monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec b/monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec index 6070546..d167cc7 100644 --- a/monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec +++ b/monitoring/spacewalk-proxy-monitoring/spacewalk-proxy-monitoring.spec @@ -10,12 +10,14 @@ Group: Applications/System BuildArch: noarch Obsoletes: rhns-proxy-monitoring < 5.3.0 Provides: rhns-proxy-monitoring +#we need to be sure that nocpulse home is correct +Requires(pre): nocpulse-common + Requires: nocpulse-db-perl Requires: eventReceivers Requires: MessageQueue Requires: NOCpulsePlugins Requires: NPalert -Requires: nocpulse-common Requires: perl-NOCpulse-CLAC Requires: perl-NOCpulse-Debug Requires: perl-NOCpulse-Gritch @@ -76,6 +78,9 @@ rm -rf $RPM_BUILD_ROOT %doc README
%changelog +* Wed Mar 25 2009 Miroslav Suchý msuchy@redhat.com +- be sure that nocpulse home is correct + * Thu Mar 12 2009 Miroslav Suchý msuchy@redhat.com 0.4.3-1 - 489573 - rhnmd do not conflict with monitoring anymore
commit 150b5765a14856fb46ce56428840bc63dcbffa35 Author: Miroslav Suchý msuchy@redhat.com Date: Tue Mar 24 13:53:08 2009 +0100
491670 - add rhn-proxy-branding to list of package to remove in 5.3
diff --git a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml index ccb254a..2271ef8 100644 --- a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml @@ -848,7 +848,7 @@ proxy will need to be reconfigured to use a different Satellite server. <action-name>Remove proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-common rhns-proxy-docs rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl httpd httpd-suexec spacewalk-proxy-html spacewalk-ssl-cert-check spacewalk-proxy-common spacewalk-proxy-installer spacewalk-proxy-docs spacewalk-proxy-monitoring spacewalk-backend spacewalk-proxy-package-manager spacewalk-certs-tools spacewalk-proxy-broker spacewalk-proxy-management spacewalk-base-minimal spacewalk-proxy-redirect nocpulse-common nocpulse-db-perl jabberd-selinux; do +rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-common rhns-proxy-docs rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl httpd httpd-suexec spacewalk-proxy-html spacewalk-ssl-cert-check spacewalk-proxy-common spacewalk-proxy-installer spacewalk-proxy-docs spacewalk-proxy-monitoring spacewalk-backend spacewalk-proxy-package-manager spacewalk-certs-tools spacewalk-proxy-broker spacewalk-proxy-management spacewalk-base-minimal spacewalk-proxy-redirect nocpulse-common nocpulse-db-perl jabberd-selinux rhn-proxy-branding; do rpm -q $package >/dev/null && echo $package; done` </script> </run-script>
commit 12dac0fed153fe79093f6a2f46da99d07687e176 Author: Miroslav Suchý msuchy@redhat.com Date: Tue Mar 24 12:22:58 2009 +0100
491670 - sort packages and add spacewalk-proxy-installer widget
diff --git a/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml index d076ed7..b5a8610 100644 --- a/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml @@ -32,6 +32,7 @@ <package>httpd</package> <package>httpd-suexec</package> <package>jabberd</package> + <package>jabberd-selinux</package> <package>libapreq2</package> <package>libidn</package> <package>LongLegs</package> @@ -40,6 +41,8 @@ <package>mod_perl</package> <package>mod_python</package> <package>mod_ssl</package> + <package>nocpulse-common</package> + <package>nocpulse-db-perl</package> <package>NOCpulsePlugins</package> <package>NPalert</package> <package>np-config</package> @@ -57,8 +60,8 @@ <package>perl-Crypt-DES</package> <package>perl-Crypt-GeneratePassword</package> <package>perl-Crypt-SSLeay</package> - <package>perl-DateTime</package> <package>perl-DateTime-Locale</package> + <package>perl-DateTime</package> <package>perl-DateTime-TimeZone</package> <package>perl-DBD-Oracle</package> <package>perl-Devel-Symdump</package> @@ -96,9 +99,10 @@ <package>rhn-modperl</package> <package>rhn-modpython</package> <package>rhn-modssl</package> - <package>rhns</package> + <package>rhn-proxy-branding</package> <package>rhns-auth-daemon</package> <package>rhns-certs-tools</package> + <package>rhns</package> <package>rhns-proxy-broker</package> <package>rhns-proxy-docs</package> <package>rhns-proxy-management</package> @@ -117,33 +121,29 @@ <package>SatConfig-generator</package> <package>SatConfig-installer</package> <package>SatConfig-spread</package> - <package>scdb</package> <package>scdb_accessor_perl</package> + <package>scdb</package> <package>SNMPAlerts</package> + <package>spacewalk-backend</package> + <package>spacewalk-base-minimal</package> + <package>spacewalk-certs-tools</package> + <package>spacewalk-proxy-broker</package> + <package>spacewalk-proxy-common</package> + <package>spacewalk-proxy-docs</package> + <package>spacewalk-proxy-html</package> + <package>spacewalk-proxy-installer</package> + <package>spacewalk-proxy-management</package> + <package>spacewalk-proxy-monitoring</package> + <package>spacewalk-proxy-package-manager</package> + <package>spacewalk-proxy-redirect</package> + <package>spacewalk-ssl-cert-check</package> <package>SputLite-client</package> <package>SputLite-server</package> <package>ssl_bridge</package> <package>status_log_acceptor</package> <package>Time-System</package> - <package>tsdb</package> <package>tsdb_accessor_perl</package> - <package>spacewalk-proxy-html</package> - <package>spacewalk-ssl-cert-check</package> - <package>spacewalk-proxy-common</package> - <package>spacewalk-proxy-installer</package> - <package>spacewalk-proxy-docs</package> - <package>spacewalk-proxy-monitoring</package> - <package>spacewalk-backend</package> - <package>spacewalk-proxy-package-manager</package> - <package>spacewalk-certs-tools</package> - <package>spacewalk-proxy-broker</package> - <package>spacewalk-proxy-management</package> - <package>spacewalk-base-minimal</package> - <package>spacewalk-proxy-redirect</package> - <package>nocpulse-common</package> - <package>nocpulse-db-perl</package> - <package>jabberd-selinux</package> - <package>rhn-proxy-branding</package> + <package>tsdb</package> <alias>proxy</alias> </method-call> </activity> @@ -166,13 +166,14 @@ Would you like to enable Monitoring Proxy functionality on this system? </header>
<rhn-form name="Remove Conflicting Packages" label="remove_packages"> - <widget type="literal" label="bdb_perl" default="${session.have_package_bdb_perl}" acl="session_data_true(have_package_bdb_perl)" /> + <widget type="literal" label="bdb_perl" default="${session.have_package_bdb_perl}" acl="session_data_true(have_package_bdb_perl)" /> <widget type="literal" label="ConfigPusher-general" default="${session.have_package_ConfigPusher_general}" acl="session_data_true(have_package_ConfigPusher_general)" /> <widget type="literal" label="eventReceivers" default="${session.have_package_eventReceivers}" acl="session_data_true(have_package_eventReceivers)" /> <widget type="literal" label="FcntlLock" default="${session.have_package_FcntlLock}" acl="session_data_true(have_package_FcntlLock)" /> <widget type="literal" label="httpd" default="${session.have_package_httpd}" acl="session_data_true(have_package_httpd)" /> <widget type="literal" label="httpd-suexec" default="${session.have_package_httpd_suexec}" acl="session_data_true(have_package_httpd_suexec)" /> <widget type="literal" label="jabberd" default="${session.have_package_jabberd}" acl="session_data_true(have_package_jabberd)" /> + <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> <widget type="literal" label="libapreq2" default="${session.have_package_libapreq2}" acl="session_data_true(have_package_libapreq2)" /> <widget type="literal" label="libidn" default="${session.have_package_libidn}" acl="session_data_true(have_package_libidn)" /> <widget type="literal" label="LongLegs" default="${session.have_package_LongLegs}" acl="session_data_true(have_package_LongLegs)" /> @@ -181,6 +182,8 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="mod_perl" default="${session.have_package_mod_perl}" acl="session_data_true(have_package_mod_perl)" /> <widget type="literal" label="mod_python" default="${session.have_package_mod_python}" acl="session_data_true(have_package_mod_python)" /> <widget type="literal" label="mod_ssl" default="${session.have_package_mod_ssl}" acl="session_data_true(have_package_mod_ssl)" /> + <widget type="literal" label="nocpulse-common" default="${session.have_package_nocpulse_common}" acl="session_data_true(have_package_nocpulse_common)" /> + <widget type="literal" label="nocpulse-db-perl" default="${session.have_package_nocpulse_db_perl}" acl="session_data_true(have_package_nocpulse_db_perl)" /> <widget type="literal" label="NOCpulsePlugins" default="${session.have_package_NOCpulsePlugins}" acl="session_data_true(have_package_NOCpulsePlugins)" /> <widget type="literal" label="NPalert" default="${session.have_package_NPalert}" acl="session_data_true(have_package_NPalert)" /> <widget type="literal" label="np-config" default="${session.have_package_np_config}" acl="session_data_true(have_package_np_config)" /> @@ -237,9 +240,10 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="rhn-modperl" default="${session.have_package_rhn_modperl}" acl="session_data_true(have_package_rhn_modperl)" /> <widget type="literal" label="rhn-modpython" default="${session.have_package_rhn_modpython}" acl="session_data_true(have_package_rhn_modpython)" /> <widget type="literal" label="rhn-modssl" default="${session.have_package_rhn_modssl}" acl="session_data_true(have_package_rhn_modssl)" /> - <widget type="literal" label="rhns" default="${session.have_package_rhns}" acl="session_data_true(have_package_rhns)" /> + <widget type="literal" label="rhn-proxy-branding" default="${session.have_package_rhn_proxy_branding}" acl="session_data_true(have_package_rhn_proxy_branding)" /> <widget type="literal" label="rhns-auth-daemon" default="${session.have_package_rhns_auth_daemon}" acl="session_data_true(have_package_rhns_auth_daemon)" /> <widget type="literal" label="rhns-certs-tools" default="${session.have_package_rhns_certs_tools}" acl="session_data_true(have_package_rhns_certs_tools)" /> + <widget type="literal" label="rhns" default="${session.have_package_rhns}" acl="session_data_true(have_package_rhns)" /> <widget type="literal" label="rhns-proxy-broker" default="${session.have_package_rhns_proxy_broker}" acl="session_data_true(have_package_rhns_proxy_broker)" /> <widget type="literal" label="rhns-proxy-docs" default="${session.have_package_rhns_proxy_docs}" acl="session_data_true(have_package_rhns_proxy_docs)" /> <widget type="literal" label="rhns-proxy-management" default="${session.have_package_rhns_proxy_management}" acl="session_data_true(have_package_rhns_proxy_management)" /> @@ -258,32 +262,29 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="SatConfig-generator" default="${session.have_package_SatConfig_generator}" acl="session_data_true(have_package_SatConfig_generator)" /> <widget type="literal" label="SatConfig-installer" default="${session.have_package_SatConfig_installer}" acl="session_data_true(have_package_SatConfig_installer)" /> <widget type="literal" label="SatConfig-spread" default="${session.have_package_SatConfig_spread}" acl="session_data_true(have_package_SatConfig_spread)" /> - <widget type="literal" label="scdb" default="${session.have_package_scdb}" acl="session_data_true(have_package_scdb)" /> <widget type="literal" label="scdb_accessor_perl" default="${session.have_package_scdb_accessor_perl}" acl="session_data_true(have_package_scdb_accessor_perl)" /> + <widget type="literal" label="scdb" default="${session.have_package_scdb}" acl="session_data_true(have_package_scdb)" /> <widget type="literal" label="SNMPAlerts" default="${session.have_package_SNMPAlerts}" acl="session_data_true(have_package_SNMPAlerts)" /> + <widget type="literal" label="spacewalk-backend" default="${session.have_package_spacewalk_backend}" acl="session_data_true(have_package_spacewalk_backend)" /> + <widget type="literal" label="spacewalk-base-minimal" default="${session.have_package_spacewalk_base_minimal}" acl="session_data_true(have_package_spacewalk_base_minimal)" /> + <widget type="literal" label="spacewalk-certs-tools" default="${session.have_package_spacewalk_certs_tools}" acl="session_data_true(have_package_spacewalk_certs_tools)" /> + <widget type="literal" label="spacewalk-proxy-broker" default="${session.have_package_spacewalk_proxy_broker}" acl="session_data_true(have_package_spacewalk_proxy_broker)" /> + <widget type="literal" label="spacewalk-proxy-common" default="${session.have_package_spacewalk_proxy_common}" acl="session_data_true(have_package_spacewalk_proxy_common)" /> + <widget type="literal" label="spacewalk-proxy-docs" default="${session.have_package_spacewalk_proxy_docs}" acl="session_data_true(have_package_spacewalk_proxy_docs)" /> + <widget type="literal" label="spacewalk-proxy-html" default="${session.have_package_spacewalk_proxy_html}" acl="session_data_true(have_package_spacewalk_proxy_html)" /> + <widget type="literal" label="spacewalk-proxy-installer" default="${session.have_package_spacewalk_installer}" acl="session_data_true(have_package_spacewalk_proxy_installer)" /> + <widget type="literal" label="spacewalk-proxy-management" default="${session.have_package_spacewalk_proxy_management}" acl="session_data_true(have_package_spacewalk_proxy_management)" /> + <widget type="literal" label="spacewalk-proxy-monitoring" default="${session.have_package_spacewalk_proxy_monitoring}" acl="session_data_true(have_package_spacewalk_proxy_monitoring)" /> + <widget type="literal" label="spacewalk-proxy-package-manager" default="${session.have_package_spacewalk_proxy_package_manager}" acl="session_data_true(have_package_spacewalk_proxy_package_manager)" /> + <widget type="literal" label="spacewalk-proxy-redirect" default="${session.have_package_spacewalk_proxy_redirect}" acl="session_data_true(have_package_spacewalk_proxy_redirect)" /> + <widget type="literal" label="spacewalk-ssl-cert-check" default="${session.have_package_spacewalk_ssl_cert_check}" acl="session_data_true(have_package_spacewalk_ssl_cert_check)" /> <widget type="literal" label="SputLite-client" default="${session.have_package_SputLite_client}" acl="session_data_true(have_package_SputLite_client)" /> <widget type="literal" label="SputLite-server" default="${session.have_package_SputLite_server}" acl="session_data_true(have_package_SputLite_server)" /> <widget type="literal" label="ssl_bridge" default="${session.have_package_ssl_bridge}" acl="session_data_true(have_package_ssl_bridge)" /> <widget type="literal" label="status_log_acceptor" default="${session.have_package_status_log_acceptor}" acl="session_data_true(have_package_status_log_acceptor)" /> <widget type="literal" label="Time-System" default="${session.have_package_Time_System}" acl="session_data_true(have_package_Time_System)" /> - <widget type="literal" label="tsdb" default="${session.have_package_tsdb}" acl="session_data_true(have_package_tsdb)" /> <widget type="literal" label="tsdb_accessor_perl" default="${session.have_package_tsdb_accessor_perl}" acl="session_data_true(have_package_tsdb_accessor_perl)" /> - <widget type="literal" label="spacewalk-proxy-html" default="${session.have_package_spacewalk_proxy_html}" acl="session_data_true(have_package_spacewalk_proxy_html)" /> - <widget type="literal" label="spacewalk-ssl-cert-check" default="${session.have_package_spacewalk_ssl_cert_check}" acl="session_data_true(have_package_spacewalk_ssl_cert_check)" /> - <widget type="literal" label="spacewalk-proxy-common" default="${session.have_package_spacewalk_proxy_common}" acl="session_data_true(have_package_spacewalk_proxy_common)" /> - <widget type="literal" label="spacewalk-proxy-docs" default="${session.have_package_spacewalk_proxy_docs}" acl="session_data_true(have_package_spacewalk_proxy_docs)" /> - <widget type="literal" label="spacewalk-proxy-monitoring" default="${session.have_package_spacewalk_proxy_monitoring}" acl="session_data_true(have_package_spacewalk_proxy_monitoring)" /> - <widget type="literal" label="spacewalk-backend" default="${session.have_package_spacewalk_backend}" acl="session_data_true(have_package_spacewalk_backend)" /> - <widget type="literal" label="spacewalk-proxy-package-manager" default="${session.have_package_spacewalk_proxy_package_manager}" acl="session_data_true(have_package_spacewalk_proxy_package_manager)" /> - <widget type="literal" label="spacewalk-certs-tools" default="${session.have_package_spacewalk_certs_tools}" acl="session_data_true(have_package_spacewalk_certs_tools)" /> - <widget type="literal" label="spacewalk-proxy-broker" default="${session.have_package_spacewalk_proxy_broker}" acl="session_data_true(have_package_spacewalk_proxy_broker)" /> - <widget type="literal" label="spacewalk-proxy-management" default="${session.have_package_spacewalk_proxy_management}" acl="session_data_true(have_package_spacewalk_proxy_management)" /> - <widget type="literal" label="spacewalk-base-minimal" default="${session.have_package_spacewalk_base_minimal}" acl="session_data_true(have_package_spacewalk_base_minimal)" /> - <widget type="literal" label="spacewalk-proxy-redirect" default="${session.have_package_spacewalk_proxy_redirect}" acl="session_data_true(have_package_spacewalk_proxy_redirect)" /> - <widget type="literal" label="nocpulse-common" default="${session.have_package_nocpulse_common}" acl="session_data_true(have_package_nocpulse_common)" /> - <widget type="literal" label="nocpulse-db-perl" default="${session.have_package_nocpulse_db_perl}" acl="session_data_true(have_package_nocpulse_db_perl)" /> - <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> - <widget type="literal" label="rhn-proxy-branding" default="${session.have_package_rhn_proxy_branding}" acl="session_data_true(have_package_rhn_proxy_branding)" /> + <widget type="literal" label="tsdb" default="${session.have_package_tsdb}" acl="session_data_true(have_package_tsdb)" /> </rhn-form> </collect-data>
diff --git a/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml index fa73aa2..b0b399f 100644 --- a/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml @@ -32,6 +32,7 @@ <package>httpd</package> <package>httpd-suexec</package> <package>jabberd</package> + <package>jabberd-selinux</package> <package>libapreq2</package> <package>libidn</package> <package>LongLegs</package> @@ -40,6 +41,8 @@ <package>mod_perl</package> <package>mod_python</package> <package>mod_ssl</package> + <package>nocpulse-common</package> + <package>nocpulse-db-perl</package> <package>NOCpulsePlugins</package> <package>NPalert</package> <package>np-config</package> @@ -57,8 +60,8 @@ <package>perl-Crypt-DES</package> <package>perl-Crypt-GeneratePassword</package> <package>perl-Crypt-SSLeay</package> - <package>perl-DateTime</package> <package>perl-DateTime-Locale</package> + <package>perl-DateTime</package> <package>perl-DateTime-TimeZone</package> <package>perl-DBD-Oracle</package> <package>perl-Devel-Symdump</package> @@ -96,9 +99,10 @@ <package>rhn-modperl</package> <package>rhn-modpython</package> <package>rhn-modssl</package> - <package>rhns</package> + <package>rhn-proxy-branding</package> <package>rhns-auth-daemon</package> <package>rhns-certs-tools</package> + <package>rhns</package> <package>rhns-proxy-broker</package> <package>rhns-proxy-docs</package> <package>rhns-proxy-management</package> @@ -117,33 +121,29 @@ <package>SatConfig-generator</package> <package>SatConfig-installer</package> <package>SatConfig-spread</package> - <package>scdb</package> <package>scdb_accessor_perl</package> + <package>scdb</package> <package>SNMPAlerts</package> + <package>spacewalk-backend</package> + <package>spacewalk-base-minimal</package> + <package>spacewalk-certs-tools</package> + <package>spacewalk-proxy-broker</package> + <package>spacewalk-proxy-common</package> + <package>spacewalk-proxy-docs</package> + <package>spacewalk-proxy-html</package> + <package>spacewalk-proxy-installer</package> + <package>spacewalk-proxy-management</package> + <package>spacewalk-proxy-monitoring</package> + <package>spacewalk-proxy-package-manager</package> + <package>spacewalk-proxy-redirect</package> + <package>spacewalk-ssl-cert-check</package> <package>SputLite-client</package> <package>SputLite-server</package> <package>ssl_bridge</package> <package>status_log_acceptor</package> <package>Time-System</package> - <package>tsdb</package> <package>tsdb_accessor_perl</package> - <package>spacewalk-proxy-html</package> - <package>spacewalk-ssl-cert-check</package> - <package>spacewalk-proxy-common</package> - <package>spacewalk-proxy-installer</package> - <package>spacewalk-proxy-docs</package> - <package>spacewalk-proxy-monitoring</package> - <package>spacewalk-backend</package> - <package>spacewalk-proxy-package-manager</package> - <package>spacewalk-certs-tools</package> - <package>spacewalk-proxy-broker</package> - <package>spacewalk-proxy-management</package> - <package>spacewalk-base-minimal</package> - <package>spacewalk-proxy-redirect</package> - <package>nocpulse-common</package> - <package>nocpulse-db-perl</package> - <package>jabberd-selinux</package> - <package>rhn-proxy-branding</package> + <package>tsdb</package> <alias>proxy</alias> </method-call> </activity> @@ -166,13 +166,14 @@ Would you like to enable Monitoring Proxy functionality on this system? </header>
<rhn-form name="Remove Conflicting Packages" label="remove_packages"> - <widget type="literal" label="bdb_perl" default="${session.have_package_bdb_perl}" acl="session_data_true(have_package_bdb_perl)" /> + <widget type="literal" label="bdb_perl" default="${session.have_package_bdb_perl}" acl="session_data_true(have_package_bdb_perl)" /> <widget type="literal" label="ConfigPusher-general" default="${session.have_package_ConfigPusher_general}" acl="session_data_true(have_package_ConfigPusher_general)" /> <widget type="literal" label="eventReceivers" default="${session.have_package_eventReceivers}" acl="session_data_true(have_package_eventReceivers)" /> <widget type="literal" label="FcntlLock" default="${session.have_package_FcntlLock}" acl="session_data_true(have_package_FcntlLock)" /> <widget type="literal" label="httpd" default="${session.have_package_httpd}" acl="session_data_true(have_package_httpd)" /> <widget type="literal" label="httpd-suexec" default="${session.have_package_httpd_suexec}" acl="session_data_true(have_package_httpd_suexec)" /> <widget type="literal" label="jabberd" default="${session.have_package_jabberd}" acl="session_data_true(have_package_jabberd)" /> + <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> <widget type="literal" label="libapreq2" default="${session.have_package_libapreq2}" acl="session_data_true(have_package_libapreq2)" /> <widget type="literal" label="libidn" default="${session.have_package_libidn}" acl="session_data_true(have_package_libidn)" /> <widget type="literal" label="LongLegs" default="${session.have_package_LongLegs}" acl="session_data_true(have_package_LongLegs)" /> @@ -181,6 +182,8 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="mod_perl" default="${session.have_package_mod_perl}" acl="session_data_true(have_package_mod_perl)" /> <widget type="literal" label="mod_python" default="${session.have_package_mod_python}" acl="session_data_true(have_package_mod_python)" /> <widget type="literal" label="mod_ssl" default="${session.have_package_mod_ssl}" acl="session_data_true(have_package_mod_ssl)" /> + <widget type="literal" label="nocpulse-common" default="${session.have_package_nocpulse_common}" acl="session_data_true(have_package_nocpulse_common)" /> + <widget type="literal" label="nocpulse-db-perl" default="${session.have_package_nocpulse_db_perl}" acl="session_data_true(have_package_nocpulse_db_perl)" /> <widget type="literal" label="NOCpulsePlugins" default="${session.have_package_NOCpulsePlugins}" acl="session_data_true(have_package_NOCpulsePlugins)" /> <widget type="literal" label="NPalert" default="${session.have_package_NPalert}" acl="session_data_true(have_package_NPalert)" /> <widget type="literal" label="np-config" default="${session.have_package_np_config}" acl="session_data_true(have_package_np_config)" /> @@ -237,9 +240,10 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="rhn-modperl" default="${session.have_package_rhn_modperl}" acl="session_data_true(have_package_rhn_modperl)" /> <widget type="literal" label="rhn-modpython" default="${session.have_package_rhn_modpython}" acl="session_data_true(have_package_rhn_modpython)" /> <widget type="literal" label="rhn-modssl" default="${session.have_package_rhn_modssl}" acl="session_data_true(have_package_rhn_modssl)" /> - <widget type="literal" label="rhns" default="${session.have_package_rhns}" acl="session_data_true(have_package_rhns)" /> + <widget type="literal" label="rhn-proxy-branding" default="${session.have_package_rhn_proxy_branding}" acl="session_data_true(have_package_rhn_proxy_branding)" /> <widget type="literal" label="rhns-auth-daemon" default="${session.have_package_rhns_auth_daemon}" acl="session_data_true(have_package_rhns_auth_daemon)" /> <widget type="literal" label="rhns-certs-tools" default="${session.have_package_rhns_certs_tools}" acl="session_data_true(have_package_rhns_certs_tools)" /> + <widget type="literal" label="rhns" default="${session.have_package_rhns}" acl="session_data_true(have_package_rhns)" /> <widget type="literal" label="rhns-proxy-broker" default="${session.have_package_rhns_proxy_broker}" acl="session_data_true(have_package_rhns_proxy_broker)" /> <widget type="literal" label="rhns-proxy-docs" default="${session.have_package_rhns_proxy_docs}" acl="session_data_true(have_package_rhns_proxy_docs)" /> <widget type="literal" label="rhns-proxy-management" default="${session.have_package_rhns_proxy_management}" acl="session_data_true(have_package_rhns_proxy_management)" /> @@ -258,32 +262,29 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="SatConfig-generator" default="${session.have_package_SatConfig_generator}" acl="session_data_true(have_package_SatConfig_generator)" /> <widget type="literal" label="SatConfig-installer" default="${session.have_package_SatConfig_installer}" acl="session_data_true(have_package_SatConfig_installer)" /> <widget type="literal" label="SatConfig-spread" default="${session.have_package_SatConfig_spread}" acl="session_data_true(have_package_SatConfig_spread)" /> - <widget type="literal" label="scdb" default="${session.have_package_scdb}" acl="session_data_true(have_package_scdb)" /> <widget type="literal" label="scdb_accessor_perl" default="${session.have_package_scdb_accessor_perl}" acl="session_data_true(have_package_scdb_accessor_perl)" /> + <widget type="literal" label="scdb" default="${session.have_package_scdb}" acl="session_data_true(have_package_scdb)" /> <widget type="literal" label="SNMPAlerts" default="${session.have_package_SNMPAlerts}" acl="session_data_true(have_package_SNMPAlerts)" /> + <widget type="literal" label="spacewalk-backend" default="${session.have_package_spacewalk_backend}" acl="session_data_true(have_package_spacewalk_backend)" /> + <widget type="literal" label="spacewalk-base-minimal" default="${session.have_package_spacewalk_base_minimal}" acl="session_data_true(have_package_spacewalk_base_minimal)" /> + <widget type="literal" label="spacewalk-certs-tools" default="${session.have_package_spacewalk_certs_tools}" acl="session_data_true(have_package_spacewalk_certs_tools)" /> + <widget type="literal" label="spacewalk-proxy-broker" default="${session.have_package_spacewalk_proxy_broker}" acl="session_data_true(have_package_spacewalk_proxy_broker)" /> + <widget type="literal" label="spacewalk-proxy-common" default="${session.have_package_spacewalk_proxy_common}" acl="session_data_true(have_package_spacewalk_proxy_common)" /> + <widget type="literal" label="spacewalk-proxy-docs" default="${session.have_package_spacewalk_proxy_docs}" acl="session_data_true(have_package_spacewalk_proxy_docs)" /> + <widget type="literal" label="spacewalk-proxy-html" default="${session.have_package_spacewalk_proxy_html}" acl="session_data_true(have_package_spacewalk_proxy_html)" /> + <widget type="literal" label="spacewalk-proxy-installer" default="${session.have_package_spacewalk_installer}" acl="session_data_true(have_package_spacewalk_proxy_installer)" /> + <widget type="literal" label="spacewalk-proxy-management" default="${session.have_package_spacewalk_proxy_management}" acl="session_data_true(have_package_spacewalk_proxy_management)" /> + <widget type="literal" label="spacewalk-proxy-monitoring" default="${session.have_package_spacewalk_proxy_monitoring}" acl="session_data_true(have_package_spacewalk_proxy_monitoring)" /> + <widget type="literal" label="spacewalk-proxy-package-manager" default="${session.have_package_spacewalk_proxy_package_manager}" acl="session_data_true(have_package_spacewalk_proxy_package_manager)" /> + <widget type="literal" label="spacewalk-proxy-redirect" default="${session.have_package_spacewalk_proxy_redirect}" acl="session_data_true(have_package_spacewalk_proxy_redirect)" /> + <widget type="literal" label="spacewalk-ssl-cert-check" default="${session.have_package_spacewalk_ssl_cert_check}" acl="session_data_true(have_package_spacewalk_ssl_cert_check)" /> <widget type="literal" label="SputLite-client" default="${session.have_package_SputLite_client}" acl="session_data_true(have_package_SputLite_client)" /> <widget type="literal" label="SputLite-server" default="${session.have_package_SputLite_server}" acl="session_data_true(have_package_SputLite_server)" /> <widget type="literal" label="ssl_bridge" default="${session.have_package_ssl_bridge}" acl="session_data_true(have_package_ssl_bridge)" /> <widget type="literal" label="status_log_acceptor" default="${session.have_package_status_log_acceptor}" acl="session_data_true(have_package_status_log_acceptor)" /> <widget type="literal" label="Time-System" default="${session.have_package_Time_System}" acl="session_data_true(have_package_Time_System)" /> - <widget type="literal" label="tsdb" default="${session.have_package_tsdb}" acl="session_data_true(have_package_tsdb)" /> <widget type="literal" label="tsdb_accessor_perl" default="${session.have_package_tsdb_accessor_perl}" acl="session_data_true(have_package_tsdb_accessor_perl)" /> - <widget type="literal" label="spacewalk-proxy-html" default="${session.have_package_spacewalk_proxy_html}" acl="session_data_true(have_package_spacewalk_proxy_html)" /> - <widget type="literal" label="spacewalk-ssl-cert-check" default="${session.have_package_spacewalk_ssl_cert_check}" acl="session_data_true(have_package_spacewalk_ssl_cert_check)" /> - <widget type="literal" label="spacewalk-proxy-common" default="${session.have_package_spacewalk_proxy_common}" acl="session_data_true(have_package_spacewalk_proxy_common)" /> - <widget type="literal" label="spacewalk-proxy-docs" default="${session.have_package_spacewalk_proxy_docs}" acl="session_data_true(have_package_spacewalk_proxy_docs)" /> - <widget type="literal" label="spacewalk-proxy-monitoring" default="${session.have_package_spacewalk_proxy_monitoring}" acl="session_data_true(have_package_spacewalk_proxy_monitoring)" /> - <widget type="literal" label="spacewalk-backend" default="${session.have_package_spacewalk_backend}" acl="session_data_true(have_package_spacewalk_backend)" /> - <widget type="literal" label="spacewalk-proxy-package-manager" default="${session.have_package_spacewalk_proxy_package_manager}" acl="session_data_true(have_package_spacewalk_proxy_package_manager)" /> - <widget type="literal" label="spacewalk-certs-tools" default="${session.have_package_spacewalk_certs_tools}" acl="session_data_true(have_package_spacewalk_certs_tools)" /> - <widget type="literal" label="spacewalk-proxy-broker" default="${session.have_package_spacewalk_proxy_broker}" acl="session_data_true(have_package_spacewalk_proxy_broker)" /> - <widget type="literal" label="spacewalk-proxy-management" default="${session.have_package_spacewalk_proxy_management}" acl="session_data_true(have_package_spacewalk_proxy_management)" /> - <widget type="literal" label="spacewalk-base-minimal" default="${session.have_package_spacewalk_base_minimal}" acl="session_data_true(have_package_spacewalk_base_minimal)" /> - <widget type="literal" label="spacewalk-proxy-redirect" default="${session.have_package_spacewalk_proxy_redirect}" acl="session_data_true(have_package_spacewalk_proxy_redirect)" /> - <widget type="literal" label="nocpulse-common" default="${session.have_package_nocpulse_common}" acl="session_data_true(have_package_nocpulse_common)" /> - <widget type="literal" label="nocpulse-db-perl" default="${session.have_package_nocpulse_db_perl}" acl="session_data_true(have_package_nocpulse_db_perl)" /> - <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> - <widget type="literal" label="rhn-proxy-branding" default="${session.have_package_rhn_proxy_branding}" acl="session_data_true(have_package_rhn_proxy_branding)" + <widget type="literal" label="tsdb" default="${session.have_package_tsdb}" acl="session_data_true(have_package_tsdb)" /> </rhn-form> </collect-data>
diff --git a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml index 48024b0..99b86ac 100644 --- a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml @@ -32,6 +32,7 @@ <package>httpd</package> <package>httpd-suexec</package> <package>jabberd</package> + <package>jabberd-selinux</package> <package>libapreq2</package> <package>libidn</package> <package>LongLegs</package> @@ -40,6 +41,8 @@ <package>mod_perl</package> <package>mod_python</package> <package>mod_ssl</package> + <package>nocpulse-common</package> + <package>nocpulse-db-perl</package> <package>NOCpulsePlugins</package> <package>NPalert</package> <package>np-config</package> @@ -57,8 +60,8 @@ <package>perl-Crypt-DES</package> <package>perl-Crypt-GeneratePassword</package> <package>perl-Crypt-SSLeay</package> - <package>perl-DateTime</package> <package>perl-DateTime-Locale</package> + <package>perl-DateTime</package> <package>perl-DateTime-TimeZone</package> <package>perl-DBD-Oracle</package> <package>perl-Devel-Symdump</package> @@ -96,9 +99,10 @@ <package>rhn-modperl</package> <package>rhn-modpython</package> <package>rhn-modssl</package> - <package>rhns</package> + <package>rhn-proxy-branding</package> <package>rhns-auth-daemon</package> <package>rhns-certs-tools</package> + <package>rhns</package> <package>rhns-proxy-broker</package> <package>rhns-proxy-docs</package> <package>rhns-proxy-management</package> @@ -117,33 +121,29 @@ <package>SatConfig-generator</package> <package>SatConfig-installer</package> <package>SatConfig-spread</package> - <package>scdb</package> <package>scdb_accessor_perl</package> + <package>scdb</package> <package>SNMPAlerts</package> + <package>spacewalk-backend</package> + <package>spacewalk-base-minimal</package> + <package>spacewalk-certs-tools</package> + <package>spacewalk-proxy-broker</package> + <package>spacewalk-proxy-common</package> + <package>spacewalk-proxy-docs</package> + <package>spacewalk-proxy-html</package> + <package>spacewalk-proxy-installer</package> + <package>spacewalk-proxy-management</package> + <package>spacewalk-proxy-monitoring</package> + <package>spacewalk-proxy-package-manager</package> + <package>spacewalk-proxy-redirect</package> + <package>spacewalk-ssl-cert-check</package> <package>SputLite-client</package> <package>SputLite-server</package> <package>ssl_bridge</package> <package>status_log_acceptor</package> <package>Time-System</package> - <package>tsdb</package> <package>tsdb_accessor_perl</package> - <package>spacewalk-proxy-html</package> - <package>spacewalk-ssl-cert-check</package> - <package>spacewalk-proxy-common</package> - <package>spacewalk-proxy-installer</package> - <package>spacewalk-proxy-docs</package> - <package>spacewalk-proxy-monitoring</package> - <package>spacewalk-backend</package> - <package>spacewalk-proxy-package-manager</package> - <package>spacewalk-certs-tools</package> - <package>spacewalk-proxy-broker</package> - <package>spacewalk-proxy-management</package> - <package>spacewalk-base-minimal</package> - <package>spacewalk-proxy-redirect</package> - <package>nocpulse-common</package> - <package>nocpulse-db-perl</package> - <package>jabberd-selinux</package> - <package>rhn-proxy-branding</package> + <package>tsdb</package> <alias>proxy</alias> </method-call> </activity> @@ -166,13 +166,14 @@ Would you like to enable Monitoring Proxy functionality on this system? </header>
<rhn-form name="Remove Conflicting Packages" label="remove_packages"> - <widget type="literal" label="bdb_perl" default="${session.have_package_bdb_perl}" acl="session_data_true(have_package_bdb_perl)" /> + <widget type="literal" label="bdb_perl" default="${session.have_package_bdb_perl}" acl="session_data_true(have_package_bdb_perl)" /> <widget type="literal" label="ConfigPusher-general" default="${session.have_package_ConfigPusher_general}" acl="session_data_true(have_package_ConfigPusher_general)" /> <widget type="literal" label="eventReceivers" default="${session.have_package_eventReceivers}" acl="session_data_true(have_package_eventReceivers)" /> <widget type="literal" label="FcntlLock" default="${session.have_package_FcntlLock}" acl="session_data_true(have_package_FcntlLock)" /> <widget type="literal" label="httpd" default="${session.have_package_httpd}" acl="session_data_true(have_package_httpd)" /> <widget type="literal" label="httpd-suexec" default="${session.have_package_httpd_suexec}" acl="session_data_true(have_package_httpd_suexec)" /> <widget type="literal" label="jabberd" default="${session.have_package_jabberd}" acl="session_data_true(have_package_jabberd)" /> + <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> <widget type="literal" label="libapreq2" default="${session.have_package_libapreq2}" acl="session_data_true(have_package_libapreq2)" /> <widget type="literal" label="libidn" default="${session.have_package_libidn}" acl="session_data_true(have_package_libidn)" /> <widget type="literal" label="LongLegs" default="${session.have_package_LongLegs}" acl="session_data_true(have_package_LongLegs)" /> @@ -181,6 +182,8 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="mod_perl" default="${session.have_package_mod_perl}" acl="session_data_true(have_package_mod_perl)" /> <widget type="literal" label="mod_python" default="${session.have_package_mod_python}" acl="session_data_true(have_package_mod_python)" /> <widget type="literal" label="mod_ssl" default="${session.have_package_mod_ssl}" acl="session_data_true(have_package_mod_ssl)" /> + <widget type="literal" label="nocpulse-common" default="${session.have_package_nocpulse_common}" acl="session_data_true(have_package_nocpulse_common)" /> + <widget type="literal" label="nocpulse-db-perl" default="${session.have_package_nocpulse_db_perl}" acl="session_data_true(have_package_nocpulse_db_perl)" /> <widget type="literal" label="NOCpulsePlugins" default="${session.have_package_NOCpulsePlugins}" acl="session_data_true(have_package_NOCpulsePlugins)" /> <widget type="literal" label="NPalert" default="${session.have_package_NPalert}" acl="session_data_true(have_package_NPalert)" /> <widget type="literal" label="np-config" default="${session.have_package_np_config}" acl="session_data_true(have_package_np_config)" /> @@ -237,9 +240,10 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="rhn-modperl" default="${session.have_package_rhn_modperl}" acl="session_data_true(have_package_rhn_modperl)" /> <widget type="literal" label="rhn-modpython" default="${session.have_package_rhn_modpython}" acl="session_data_true(have_package_rhn_modpython)" /> <widget type="literal" label="rhn-modssl" default="${session.have_package_rhn_modssl}" acl="session_data_true(have_package_rhn_modssl)" /> - <widget type="literal" label="rhns" default="${session.have_package_rhns}" acl="session_data_true(have_package_rhns)" /> + <widget type="literal" label="rhn-proxy-branding" default="${session.have_package_rhn_proxy_branding}" acl="session_data_true(have_package_rhn_proxy_branding)" /> <widget type="literal" label="rhns-auth-daemon" default="${session.have_package_rhns_auth_daemon}" acl="session_data_true(have_package_rhns_auth_daemon)" /> <widget type="literal" label="rhns-certs-tools" default="${session.have_package_rhns_certs_tools}" acl="session_data_true(have_package_rhns_certs_tools)" /> + <widget type="literal" label="rhns" default="${session.have_package_rhns}" acl="session_data_true(have_package_rhns)" /> <widget type="literal" label="rhns-proxy-broker" default="${session.have_package_rhns_proxy_broker}" acl="session_data_true(have_package_rhns_proxy_broker)" /> <widget type="literal" label="rhns-proxy-docs" default="${session.have_package_rhns_proxy_docs}" acl="session_data_true(have_package_rhns_proxy_docs)" /> <widget type="literal" label="rhns-proxy-management" default="${session.have_package_rhns_proxy_management}" acl="session_data_true(have_package_rhns_proxy_management)" /> @@ -258,34 +262,29 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="SatConfig-generator" default="${session.have_package_SatConfig_generator}" acl="session_data_true(have_package_SatConfig_generator)" /> <widget type="literal" label="SatConfig-installer" default="${session.have_package_SatConfig_installer}" acl="session_data_true(have_package_SatConfig_installer)" /> <widget type="literal" label="SatConfig-spread" default="${session.have_package_SatConfig_spread}" acl="session_data_true(have_package_SatConfig_spread)" /> - <widget type="literal" label="scdb" default="${session.have_package_scdb}" acl="session_data_true(have_package_scdb)" /> <widget type="literal" label="scdb_accessor_perl" default="${session.have_package_scdb_accessor_perl}" acl="session_data_true(have_package_scdb_accessor_perl)" /> + <widget type="literal" label="scdb" default="${session.have_package_scdb}" acl="session_data_true(have_package_scdb)" /> <widget type="literal" label="SNMPAlerts" default="${session.have_package_SNMPAlerts}" acl="session_data_true(have_package_SNMPAlerts)" /> + <widget type="literal" label="spacewalk-backend" default="${session.have_package_spacewalk_backend}" acl="session_data_true(have_package_spacewalk_backend)" /> + <widget type="literal" label="spacewalk-base-minimal" default="${session.have_package_spacewalk_base_minimal}" acl="session_data_true(have_package_spacewalk_base_minimal)" /> + <widget type="literal" label="spacewalk-certs-tools" default="${session.have_package_spacewalk_certs_tools}" acl="session_data_true(have_package_spacewalk_certs_tools)" /> + <widget type="literal" label="spacewalk-proxy-broker" default="${session.have_package_spacewalk_proxy_broker}" acl="session_data_true(have_package_spacewalk_proxy_broker)" /> + <widget type="literal" label="spacewalk-proxy-common" default="${session.have_package_spacewalk_proxy_common}" acl="session_data_true(have_package_spacewalk_proxy_common)" /> + <widget type="literal" label="spacewalk-proxy-docs" default="${session.have_package_spacewalk_proxy_docs}" acl="session_data_true(have_package_spacewalk_proxy_docs)" /> + <widget type="literal" label="spacewalk-proxy-html" default="${session.have_package_spacewalk_proxy_html}" acl="session_data_true(have_package_spacewalk_proxy_html)" /> + <widget type="literal" label="spacewalk-proxy-installer" default="${session.have_package_spacewalk_installer}" acl="session_data_true(have_package_spacewalk_proxy_installer)" /> + <widget type="literal" label="spacewalk-proxy-management" default="${session.have_package_spacewalk_proxy_management}" acl="session_data_true(have_package_spacewalk_proxy_management)" /> + <widget type="literal" label="spacewalk-proxy-monitoring" default="${session.have_package_spacewalk_proxy_monitoring}" acl="session_data_true(have_package_spacewalk_proxy_monitoring)" /> + <widget type="literal" label="spacewalk-proxy-package-manager" default="${session.have_package_spacewalk_proxy_package_manager}" acl="session_data_true(have_package_spacewalk_proxy_package_manager)" /> + <widget type="literal" label="spacewalk-proxy-redirect" default="${session.have_package_spacewalk_proxy_redirect}" acl="session_data_true(have_package_spacewalk_proxy_redirect)" /> + <widget type="literal" label="spacewalk-ssl-cert-check" default="${session.have_package_spacewalk_ssl_cert_check}" acl="session_data_true(have_package_spacewalk_ssl_cert_check)" /> <widget type="literal" label="SputLite-client" default="${session.have_package_SputLite_client}" acl="session_data_true(have_package_SputLite_client)" /> <widget type="literal" label="SputLite-server" default="${session.have_package_SputLite_server}" acl="session_data_true(have_package_SputLite_server)" /> <widget type="literal" label="ssl_bridge" default="${session.have_package_ssl_bridge}" acl="session_data_true(have_package_ssl_bridge)" /> <widget type="literal" label="status_log_acceptor" default="${session.have_package_status_log_acceptor}" acl="session_data_true(have_package_status_log_acceptor)" /> <widget type="literal" label="Time-System" default="${session.have_package_Time_System}" acl="session_data_true(have_package_Time_System)" /> - <widget type="literal" label="tsdb" default="${session.have_package_tsdb}" acl="session_data_true(have_package_tsdb)" /> <widget type="literal" label="tsdb_accessor_perl" default="${session.have_package_tsdb_accessor_perl}" acl="session_data_true(have_package_tsdb_accessor_perl)" /> - <widget type="literal" label="spacewalk-proxy-html" default="${session.have_package_spacewalk_proxy_html}" acl="session_data_true(have_package_spacewalk_proxy_html)" /> - <widget type="literal" label="spacewalk-ssl-cert-check" default="${session.have_package_spacewalk_ssl_cert_check}" acl="session_data_true(have_package_spacewalk_ssl_cert_check)" /> - <widget type="literal" label="spacewalk-proxy-common" default="${session.have_package_spacewalk_proxy_common}" acl="session_data_true(have_package_spacewalk_proxy_common)" /> - <widget type="literal" label="spacewalk-proxy-docs" default="${session.have_package_spacewalk_proxy_docs}" acl="session_data_true(have_package_spacewalk_proxy_docs)" /> - <widget type="literal" label="spacewalk-proxy-monitoring" default="${session.have_package_spacewalk_proxy_monitoring}" acl="session_data_true(have_package_spacewalk_proxy_monitoring)" /> - <widget type="literal" label="spacewalk-backend" default="${session.have_package_spacewalk_backend}" acl="session_data_true(have_package_spacewalk_backend)" /> - <widget type="literal" label="spacewalk-proxy-package-manager" default="${session.have_package_spacewalk_proxy_package_manager}" acl="session_data_true(have_package_spacewalk_proxy_package_manager)" /> - <widget type="literal" label="spacewalk-certs-tools" default="${session.have_package_spacewalk_certs_tools}" acl="session_data_true(have_package_spacewalk_certs_tools)" /> - <widget type="literal" label="spacewalk-proxy-broker" default="${session.have_package_spacewalk_proxy_broker}" acl="session_data_true(have_package_spacewalk_proxy_broker)" /> - <widget type="literal" label="spacewalk-proxy-management" default="${session.have_package_spacewalk_proxy_management}" acl="session_data_true(have_package_spacewalk_proxy_management)" /> - <widget type="literal" label="spacewalk-base-minimal" default="${session.have_package_spacewalk_base_minimal}" acl="session_data_true(have_package_spacewalk_base_minimal)" /> - <widget type="literal" label="spacewalk-proxy-redirect" default="${session.have_package_spacewalk_proxy_redirect}" acl="session_data_true(have_package_spacewalk_proxy_redirect)" /> - <widget type="literal" label="nocpulse-common" default="${session.have_package_nocpulse_common}" acl="session_data_true(have_package_nocpulse_common)" /> - <widget type="literal" label="nocpulse-db-perl" default="${session.have_package_nocpulse_db_perl}" acl="session_data_true(have_package_nocpulse_db_perl)" /> - <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> - <widget type="literal" label="httpd" default="${session.have_package_httpd}" acl="session_data_true(have_package_httpd)" /> <widget type="literal" label="mod_python" default="${session.have_package_mod_python}" acl="session_data_true(have_package_mod_python)" /> - <widget type="literal" label="mod_ssl" default="${session.have_package_mod_ssl}" acl="session_data_true(have_package_mod_ssl)" /> - <widget type="literal" label="rhn-proxy-branding" default="${session.have_package_rhn_proxy_branding}" acl="session_data_true(have_package_rhn_proxy_branding)" /> + <widget type="literal" label="tsdb" default="${session.have_package_tsdb}" acl="session_data_true(have_package_tsdb)" /> </rhn-form> </collect-data>
diff --git a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml index c4dd76f..42a65fe 100644 --- a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml @@ -31,14 +31,18 @@ <package>FcntlLock</package> <package>httpd</package> <package>httpd-suexec</package> - <package>mod_python</package> - <package>mod_ssl</package> <package>jabberd</package> + <package>jabberd-selinux</package> <package>libapreq2</package> + <package>libidn</package> <package>LongLegs</package> <package>MessageQueue</package> <package>mm</package> <package>mod_perl</package> + <package>mod_python</package> + <package>mod_ssl</package> + <package>nocpulse-common</package> + <package>nocpulse-db-perl</package> <package>NOCpulsePlugins</package> <package>NPalert</package> <package>np-config</package> @@ -56,8 +60,8 @@ <package>perl-Crypt-DES</package> <package>perl-Crypt-GeneratePassword</package> <package>perl-Crypt-SSLeay</package> - <package>perl-DateTime</package> <package>perl-DateTime-Locale</package> + <package>perl-DateTime</package> <package>perl-DateTime-TimeZone</package> <package>perl-DBD-Oracle</package> <package>perl-Devel-Symdump</package> @@ -95,10 +99,10 @@ <package>rhn-modperl</package> <package>rhn-modpython</package> <package>rhn-modssl</package> - <package>rhns</package> + <package>rhn-proxy-branding</package> <package>rhns-auth-daemon</package> <package>rhns-certs-tools</package> - <package>rhns-proxy-common</package> + <package>rhns</package> <package>rhns-proxy-broker</package> <package>rhns-proxy-docs</package> <package>rhns-proxy-management</package> @@ -117,33 +121,29 @@ <package>SatConfig-generator</package> <package>SatConfig-installer</package> <package>SatConfig-spread</package> - <package>scdb</package> <package>scdb_accessor_perl</package> + <package>scdb</package> <package>SNMPAlerts</package> + <package>spacewalk-backend</package> + <package>spacewalk-base-minimal</package> + <package>spacewalk-certs-tools</package> + <package>spacewalk-proxy-broker</package> + <package>spacewalk-proxy-common</package> + <package>spacewalk-proxy-docs</package> + <package>spacewalk-proxy-html</package> + <package>spacewalk-proxy-installer</package> + <package>spacewalk-proxy-management</package> + <package>spacewalk-proxy-monitoring</package> + <package>spacewalk-proxy-package-manager</package> + <package>spacewalk-proxy-redirect</package> + <package>spacewalk-ssl-cert-check</package> <package>SputLite-client</package> <package>SputLite-server</package> <package>ssl_bridge</package> <package>status_log_acceptor</package> <package>Time-System</package> - <package>tsdb</package> <package>tsdb_accessor_perl</package> - <package>spacewalk-proxy-html</package> - <package>spacewalk-ssl-cert-check</package> - <package>spacewalk-proxy-common</package> - <package>spacewalk-proxy-installer</package> - <package>spacewalk-proxy-docs</package> - <package>spacewalk-proxy-monitoring</package> - <package>spacewalk-backend</package> - <package>spacewalk-proxy-package-manager</package> - <package>spacewalk-certs-tools</package> - <package>spacewalk-proxy-broker</package> - <package>spacewalk-proxy-management</package> - <package>spacewalk-base-minimal</package> - <package>spacewalk-proxy-redirect</package> - <package>nocpulse-common</package> - <package>nocpulse-db-perl</package> - <package>jabberd-selinux</package> - <package>rhn-proxy-branding</package> + <package>tsdb</package> <alias>proxy</alias> </method-call> </activity> @@ -166,17 +166,24 @@ Would you like to enable Monitoring Proxy functionality on this system? </header>
<rhn-form name="Remove Conflicting Packages" label="remove_packages"> - <widget type="literal" label="bdb_perl" default="${session.have_package_bdb_perl}" acl="session_data_true(have_package_bdb_perl)" /> + <widget type="literal" label="bdb_perl" default="${session.have_package_bdb_perl}" acl="session_data_true(have_package_bdb_perl)" /> <widget type="literal" label="ConfigPusher-general" default="${session.have_package_ConfigPusher_general}" acl="session_data_true(have_package_ConfigPusher_general)" /> <widget type="literal" label="eventReceivers" default="${session.have_package_eventReceivers}" acl="session_data_true(have_package_eventReceivers)" /> <widget type="literal" label="FcntlLock" default="${session.have_package_FcntlLock}" acl="session_data_true(have_package_FcntlLock)" /> + <widget type="literal" label="httpd" default="${session.have_package_httpd}" acl="session_data_true(have_package_httpd)" /> <widget type="literal" label="httpd-suexec" default="${session.have_package_httpd_suexec}" acl="session_data_true(have_package_httpd_suexec)" /> <widget type="literal" label="jabberd" default="${session.have_package_jabberd}" acl="session_data_true(have_package_jabberd)" /> + <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> <widget type="literal" label="libapreq2" default="${session.have_package_libapreq2}" acl="session_data_true(have_package_libapreq2)" /> + <widget type="literal" label="libidn" default="${session.have_package_libidn}" acl="session_data_true(have_package_libidn)" /> <widget type="literal" label="LongLegs" default="${session.have_package_LongLegs}" acl="session_data_true(have_package_LongLegs)" /> <widget type="literal" label="MessageQueue" default="${session.have_package_MessageQueue}" acl="session_data_true(have_package_MessageQueue)" /> <widget type="literal" label="mm" default="${session.have_package_mm}" acl="session_data_true(have_package_mm)" /> <widget type="literal" label="mod_perl" default="${session.have_package_mod_perl}" acl="session_data_true(have_package_mod_perl)" /> + <widget type="literal" label="mod_python" default="${session.have_package_mod_python}" acl="session_data_true(have_package_mod_python)" /> + <widget type="literal" label="mod_ssl" default="${session.have_package_mod_ssl}" acl="session_data_true(have_package_mod_ssl)" /> + <widget type="literal" label="nocpulse-common" default="${session.have_package_nocpulse_common}" acl="session_data_true(have_package_nocpulse_common)" /> + <widget type="literal" label="nocpulse-db-perl" default="${session.have_package_nocpulse_db_perl}" acl="session_data_true(have_package_nocpulse_db_perl)" /> <widget type="literal" label="NOCpulsePlugins" default="${session.have_package_NOCpulsePlugins}" acl="session_data_true(have_package_NOCpulsePlugins)" /> <widget type="literal" label="NPalert" default="${session.have_package_NPalert}" acl="session_data_true(have_package_NPalert)" /> <widget type="literal" label="np-config" default="${session.have_package_np_config}" acl="session_data_true(have_package_np_config)" /> @@ -233,12 +240,12 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="rhn-modperl" default="${session.have_package_rhn_modperl}" acl="session_data_true(have_package_rhn_modperl)" /> <widget type="literal" label="rhn-modpython" default="${session.have_package_rhn_modpython}" acl="session_data_true(have_package_rhn_modpython)" /> <widget type="literal" label="rhn-modssl" default="${session.have_package_rhn_modssl}" acl="session_data_true(have_package_rhn_modssl)" /> - <widget type="literal" label="rhns" default="${session.have_package_rhns}" acl="session_data_true(have_package_rhns)" /> + <widget type="literal" label="rhn-proxy-branding" default="${session.have_package_rhn_proxy_branding}" acl="session_data_true(have_package_rhn_proxy_branding)" /> <widget type="literal" label="rhns-auth-daemon" default="${session.have_package_rhns_auth_daemon}" acl="session_data_true(have_package_rhns_auth_daemon)" /> <widget type="literal" label="rhns-certs-tools" default="${session.have_package_rhns_certs_tools}" acl="session_data_true(have_package_rhns_certs_tools)" /> + <widget type="literal" label="rhns" default="${session.have_package_rhns}" acl="session_data_true(have_package_rhns)" /> <widget type="literal" label="rhns-proxy-broker" default="${session.have_package_rhns_proxy_broker}" acl="session_data_true(have_package_rhns_proxy_broker)" /> - <widget type="literal" label="rhns-proxy-common" default="${session.have_package_rhns_proxy_common}" acl="session_data_true(have_package_rhns_proxy_common)" /> - <widget type="literal" label="rhns-proxy-docs" default="${session.have_package_rhns_proxy_docs}" acl="session_data_true(have_package_rhns_proxy_docs)" /> + <widget type="literal" label="rhns-proxy-docs" default="${session.have_package_rhns_proxy_docs}" acl="session_data_true(have_package_rhns_proxy_docs)" /> <widget type="literal" label="rhns-proxy-management" default="${session.have_package_rhns_proxy_management}" acl="session_data_true(have_package_rhns_proxy_management)" /> <widget type="literal" label="rhns-proxy-monitoring" default="${session.have_package_rhns_proxy_monitoring}" acl="session_data_true(have_package_rhns_proxy_monitoring)" /> <widget type="literal" label="rhns-proxy-package-manager" default="${session.have_package_rhns_proxy_package_manager}" acl="session_data_true(have_package_rhns_proxy_package_manager)" /> @@ -255,36 +262,29 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="SatConfig-generator" default="${session.have_package_SatConfig_generator}" acl="session_data_true(have_package_SatConfig_generator)" /> <widget type="literal" label="SatConfig-installer" default="${session.have_package_SatConfig_installer}" acl="session_data_true(have_package_SatConfig_installer)" /> <widget type="literal" label="SatConfig-spread" default="${session.have_package_SatConfig_spread}" acl="session_data_true(have_package_SatConfig_spread)" /> - <widget type="literal" label="scdb" default="${session.have_package_scdb}" acl="session_data_true(have_package_scdb)" /> <widget type="literal" label="scdb_accessor_perl" default="${session.have_package_scdb_accessor_perl}" acl="session_data_true(have_package_scdb_accessor_perl)" /> + <widget type="literal" label="scdb" default="${session.have_package_scdb}" acl="session_data_true(have_package_scdb)" /> <widget type="literal" label="SNMPAlerts" default="${session.have_package_SNMPAlerts}" acl="session_data_true(have_package_SNMPAlerts)" /> + <widget type="literal" label="spacewalk-backend" default="${session.have_package_spacewalk_backend}" acl="session_data_true(have_package_spacewalk_backend)" /> + <widget type="literal" label="spacewalk-base-minimal" default="${session.have_package_spacewalk_base_minimal}" acl="session_data_true(have_package_spacewalk_base_minimal)" /> + <widget type="literal" label="spacewalk-certs-tools" default="${session.have_package_spacewalk_certs_tools}" acl="session_data_true(have_package_spacewalk_certs_tools)" /> + <widget type="literal" label="spacewalk-proxy-broker" default="${session.have_package_spacewalk_proxy_broker}" acl="session_data_true(have_package_spacewalk_proxy_broker)" /> + <widget type="literal" label="spacewalk-proxy-common" default="${session.have_package_spacewalk_proxy_common}" acl="session_data_true(have_package_spacewalk_proxy_common)" /> + <widget type="literal" label="spacewalk-proxy-docs" default="${session.have_package_spacewalk_proxy_docs}" acl="session_data_true(have_package_spacewalk_proxy_docs)" /> + <widget type="literal" label="spacewalk-proxy-html" default="${session.have_package_spacewalk_proxy_html}" acl="session_data_true(have_package_spacewalk_proxy_html)" /> + <widget type="literal" label="spacewalk-proxy-installer" default="${session.have_package_spacewalk_installer}" acl="session_data_true(have_package_spacewalk_proxy_installer)" /> + <widget type="literal" label="spacewalk-proxy-management" default="${session.have_package_spacewalk_proxy_management}" acl="session_data_true(have_package_spacewalk_proxy_management)" /> + <widget type="literal" label="spacewalk-proxy-monitoring" default="${session.have_package_spacewalk_proxy_monitoring}" acl="session_data_true(have_package_spacewalk_proxy_monitoring)" /> + <widget type="literal" label="spacewalk-proxy-package-manager" default="${session.have_package_spacewalk_proxy_package_manager}" acl="session_data_true(have_package_spacewalk_proxy_package_manager)" /> + <widget type="literal" label="spacewalk-proxy-redirect" default="${session.have_package_spacewalk_proxy_redirect}" acl="session_data_true(have_package_spacewalk_proxy_redirect)" /> + <widget type="literal" label="spacewalk-ssl-cert-check" default="${session.have_package_spacewalk_ssl_cert_check}" acl="session_data_true(have_package_spacewalk_ssl_cert_check)" /> <widget type="literal" label="SputLite-client" default="${session.have_package_SputLite_client}" acl="session_data_true(have_package_SputLite_client)" /> <widget type="literal" label="SputLite-server" default="${session.have_package_SputLite_server}" acl="session_data_true(have_package_SputLite_server)" /> <widget type="literal" label="ssl_bridge" default="${session.have_package_ssl_bridge}" acl="session_data_true(have_package_ssl_bridge)" /> <widget type="literal" label="status_log_acceptor" default="${session.have_package_status_log_acceptor}" acl="session_data_true(have_package_status_log_acceptor)" /> <widget type="literal" label="Time-System" default="${session.have_package_Time_System}" acl="session_data_true(have_package_Time_System)" /> - <widget type="literal" label="tsdb" default="${session.have_package_tsdb}" acl="session_data_true(have_package_tsdb)" /> <widget type="literal" label="tsdb_accessor_perl" default="${session.have_package_tsdb_accessor_perl}" acl="session_data_true(have_package_tsdb_accessor_perl)" /> - <widget type="literal" label="spacewalk-proxy-html" default="${session.have_package_spacewalk_proxy_html}" acl="session_data_true(have_package_spacewalk_proxy_html)" /> - <widget type="literal" label="spacewalk-ssl-cert-check" default="${session.have_package_spacewalk_ssl_cert_check}" acl="session_data_true(have_package_spacewalk_ssl_cert_check)" /> - <widget type="literal" label="spacewalk-proxy-common" default="${session.have_package_spacewalk_proxy_common}" acl="session_data_true(have_package_spacewalk_proxy_common)" /> - <widget type="literal" label="spacewalk-proxy-docs" default="${session.have_package_spacewalk_proxy_docs}" acl="session_data_true(have_package_spacewalk_proxy_docs)" /> - <widget type="literal" label="spacewalk-proxy-monitoring" default="${session.have_package_spacewalk_proxy_monitoring}" acl="session_data_true(have_package_spacewalk_proxy_monitoring)" /> - <widget type="literal" label="spacewalk-backend" default="${session.have_package_spacewalk_backend}" acl="session_data_true(have_package_spacewalk_backend)" /> - <widget type="literal" label="spacewalk-proxy-package-manager" default="${session.have_package_spacewalk_proxy_package_manager}" acl="session_data_true(have_package_spacewalk_proxy_package_manager)" /> - <widget type="literal" label="spacewalk-certs-tools" default="${session.have_package_spacewalk_certs_tools}" acl="session_data_true(have_package_spacewalk_certs_tools)" /> - <widget type="literal" label="spacewalk-proxy-broker" default="${session.have_package_spacewalk_proxy_broker}" acl="session_data_true(have_package_spacewalk_proxy_broker)" /> - <widget type="literal" label="spacewalk-proxy-management" default="${session.have_package_spacewalk_proxy_management}" acl="session_data_true(have_package_spacewalk_proxy_management)" /> - <widget type="literal" label="spacewalk-base-minimal" default="${session.have_package_spacewalk_base_minimal}" acl="session_data_true(have_package_spacewalk_base_minimal)" /> - <widget type="literal" label="spacewalk-proxy-redirect" default="${session.have_package_spacewalk_proxy_redirect}" acl="session_data_true(have_package_spacewalk_proxy_redirect)" /> - <widget type="literal" label="nocpulse-common" default="${session.have_package_nocpulse_common}" acl="session_data_true(have_package_nocpulse_common)" /> - <widget type="literal" label="nocpulse-db-perl" default="${session.have_package_nocpulse_db_perl}" acl="session_data_true(have_package_nocpulse_db_perl)" /> - <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> - <widget type="literal" label="rhn-proxy-branding" default="${session.have_package_rhn_proxy_branding}" acl="session_data_true(have_package_rhn_proxy_branding)" /> - <widget type="literal" label="httpd" default="${session.have_package_httpd}" acl="session_data_true(have_package_httpd)" /> - <widget type="literal" label="mod_python" default="${session.have_package_mod_python}" acl="session_data_true(have_package_mod_python)" /> - <widget type="literal" label="mod_ssl" default="${session.have_package_mod_ssl}" acl="session_data_true(have_package_mod_ssl)" /> - + <widget type="literal" label="tsdb" default="${session.have_package_tsdb}" acl="session_data_true(have_package_tsdb)" /> </rhn-form> </collect-data>
diff --git a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml index c7983a4..ccb254a 100644 --- a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml @@ -31,14 +31,18 @@ <package>FcntlLock</package> <package>httpd</package> <package>httpd-suexec</package> - <package>mod_python</package> - <package>mod_ssl</package> <package>jabberd</package> + <package>jabberd-selinux</package> <package>libapreq2</package> + <package>libidn</package> <package>LongLegs</package> <package>MessageQueue</package> <package>mm</package> <package>mod_perl</package> + <package>mod_python</package> + <package>mod_ssl</package> + <package>nocpulse-common</package> + <package>nocpulse-db-perl</package> <package>NOCpulsePlugins</package> <package>NPalert</package> <package>np-config</package> @@ -56,8 +60,8 @@ <package>perl-Crypt-DES</package> <package>perl-Crypt-GeneratePassword</package> <package>perl-Crypt-SSLeay</package> - <package>perl-DateTime</package> <package>perl-DateTime-Locale</package> + <package>perl-DateTime</package> <package>perl-DateTime-TimeZone</package> <package>perl-DBD-Oracle</package> <package>perl-Devel-Symdump</package> @@ -95,10 +99,10 @@ <package>rhn-modperl</package> <package>rhn-modpython</package> <package>rhn-modssl</package> - <package>rhns</package> + <package>rhn-proxy-branding</package> <package>rhns-auth-daemon</package> <package>rhns-certs-tools</package> - <package>rhns-proxy-common</package> + <package>rhns</package> <package>rhns-proxy-broker</package> <package>rhns-proxy-docs</package> <package>rhns-proxy-management</package> @@ -117,33 +121,29 @@ <package>SatConfig-generator</package> <package>SatConfig-installer</package> <package>SatConfig-spread</package> - <package>scdb</package> <package>scdb_accessor_perl</package> + <package>scdb</package> <package>SNMPAlerts</package> + <package>spacewalk-backend</package> + <package>spacewalk-base-minimal</package> + <package>spacewalk-certs-tools</package> + <package>spacewalk-proxy-broker</package> + <package>spacewalk-proxy-common</package> + <package>spacewalk-proxy-docs</package> + <package>spacewalk-proxy-html</package> + <package>spacewalk-proxy-installer</package> + <package>spacewalk-proxy-management</package> + <package>spacewalk-proxy-monitoring</package> + <package>spacewalk-proxy-package-manager</package> + <package>spacewalk-proxy-redirect</package> + <package>spacewalk-ssl-cert-check</package> <package>SputLite-client</package> <package>SputLite-server</package> <package>ssl_bridge</package> <package>status_log_acceptor</package> <package>Time-System</package> - <package>tsdb</package> <package>tsdb_accessor_perl</package> - <package>spacewalk-proxy-html</package> - <package>spacewalk-ssl-cert-check</package> - <package>spacewalk-proxy-common</package> - <package>spacewalk-proxy-installer</package> - <package>spacewalk-proxy-docs</package> - <package>spacewalk-proxy-monitoring</package> - <package>spacewalk-backend</package> - <package>spacewalk-proxy-package-manager</package> - <package>spacewalk-certs-tools</package> - <package>spacewalk-proxy-broker</package> - <package>spacewalk-proxy-management</package> - <package>spacewalk-base-minimal</package> - <package>spacewalk-proxy-redirect</package> - <package>nocpulse-common</package> - <package>nocpulse-db-perl</package> - <package>jabberd-selinux</package> - <package>rhn-proxy-branding</package> + <package>tsdb</package> <alias>proxy</alias> </method-call> </activity> @@ -166,17 +166,24 @@ Would you like to enable Monitoring Proxy functionality on this system? </header>
<rhn-form name="Remove Conflicting Packages" label="remove_packages"> - <widget type="literal" label="bdb_perl" default="${session.have_package_bdb_perl}" acl="session_data_true(have_package_bdb_perl)" /> + <widget type="literal" label="bdb_perl" default="${session.have_package_bdb_perl}" acl="session_data_true(have_package_bdb_perl)" /> <widget type="literal" label="ConfigPusher-general" default="${session.have_package_ConfigPusher_general}" acl="session_data_true(have_package_ConfigPusher_general)" /> <widget type="literal" label="eventReceivers" default="${session.have_package_eventReceivers}" acl="session_data_true(have_package_eventReceivers)" /> <widget type="literal" label="FcntlLock" default="${session.have_package_FcntlLock}" acl="session_data_true(have_package_FcntlLock)" /> + <widget type="literal" label="httpd" default="${session.have_package_httpd}" acl="session_data_true(have_package_httpd)" /> <widget type="literal" label="httpd-suexec" default="${session.have_package_httpd_suexec}" acl="session_data_true(have_package_httpd_suexec)" /> <widget type="literal" label="jabberd" default="${session.have_package_jabberd}" acl="session_data_true(have_package_jabberd)" /> + <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> <widget type="literal" label="libapreq2" default="${session.have_package_libapreq2}" acl="session_data_true(have_package_libapreq2)" /> + <widget type="literal" label="libidn" default="${session.have_package_libidn}" acl="session_data_true(have_package_libidn)" /> <widget type="literal" label="LongLegs" default="${session.have_package_LongLegs}" acl="session_data_true(have_package_LongLegs)" /> <widget type="literal" label="MessageQueue" default="${session.have_package_MessageQueue}" acl="session_data_true(have_package_MessageQueue)" /> <widget type="literal" label="mm" default="${session.have_package_mm}" acl="session_data_true(have_package_mm)" /> <widget type="literal" label="mod_perl" default="${session.have_package_mod_perl}" acl="session_data_true(have_package_mod_perl)" /> + <widget type="literal" label="mod_python" default="${session.have_package_mod_python}" acl="session_data_true(have_package_mod_python)" /> + <widget type="literal" label="mod_ssl" default="${session.have_package_mod_ssl}" acl="session_data_true(have_package_mod_ssl)" /> + <widget type="literal" label="nocpulse-common" default="${session.have_package_nocpulse_common}" acl="session_data_true(have_package_nocpulse_common)" /> + <widget type="literal" label="nocpulse-db-perl" default="${session.have_package_nocpulse_db_perl}" acl="session_data_true(have_package_nocpulse_db_perl)" /> <widget type="literal" label="NOCpulsePlugins" default="${session.have_package_NOCpulsePlugins}" acl="session_data_true(have_package_NOCpulsePlugins)" /> <widget type="literal" label="NPalert" default="${session.have_package_NPalert}" acl="session_data_true(have_package_NPalert)" /> <widget type="literal" label="np-config" default="${session.have_package_np_config}" acl="session_data_true(have_package_np_config)" /> @@ -233,12 +240,12 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="rhn-modperl" default="${session.have_package_rhn_modperl}" acl="session_data_true(have_package_rhn_modperl)" /> <widget type="literal" label="rhn-modpython" default="${session.have_package_rhn_modpython}" acl="session_data_true(have_package_rhn_modpython)" /> <widget type="literal" label="rhn-modssl" default="${session.have_package_rhn_modssl}" acl="session_data_true(have_package_rhn_modssl)" /> - <widget type="literal" label="rhns" default="${session.have_package_rhns}" acl="session_data_true(have_package_rhns)" /> + <widget type="literal" label="rhn-proxy-branding" default="${session.have_package_rhn_proxy_branding}" acl="session_data_true(have_package_rhn_proxy_branding)" /> <widget type="literal" label="rhns-auth-daemon" default="${session.have_package_rhns_auth_daemon}" acl="session_data_true(have_package_rhns_auth_daemon)" /> <widget type="literal" label="rhns-certs-tools" default="${session.have_package_rhns_certs_tools}" acl="session_data_true(have_package_rhns_certs_tools)" /> + <widget type="literal" label="rhns" default="${session.have_package_rhns}" acl="session_data_true(have_package_rhns)" /> <widget type="literal" label="rhns-proxy-broker" default="${session.have_package_rhns_proxy_broker}" acl="session_data_true(have_package_rhns_proxy_broker)" /> - <widget type="literal" label="rhns-proxy-common" default="${session.have_package_rhns_proxy_common}" acl="session_data_true(have_package_rhns_proxy_common)" /> - <widget type="literal" label="rhns-proxy-docs" default="${session.have_package_rhns_proxy_docs}" acl="session_data_true(have_package_rhns_proxy_docs)" /> + <widget type="literal" label="rhns-proxy-docs" default="${session.have_package_rhns_proxy_docs}" acl="session_data_true(have_package_rhns_proxy_docs)" /> <widget type="literal" label="rhns-proxy-management" default="${session.have_package_rhns_proxy_management}" acl="session_data_true(have_package_rhns_proxy_management)" /> <widget type="literal" label="rhns-proxy-monitoring" default="${session.have_package_rhns_proxy_monitoring}" acl="session_data_true(have_package_rhns_proxy_monitoring)" /> <widget type="literal" label="rhns-proxy-package-manager" default="${session.have_package_rhns_proxy_package_manager}" acl="session_data_true(have_package_rhns_proxy_package_manager)" /> @@ -255,35 +262,29 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="SatConfig-generator" default="${session.have_package_SatConfig_generator}" acl="session_data_true(have_package_SatConfig_generator)" /> <widget type="literal" label="SatConfig-installer" default="${session.have_package_SatConfig_installer}" acl="session_data_true(have_package_SatConfig_installer)" /> <widget type="literal" label="SatConfig-spread" default="${session.have_package_SatConfig_spread}" acl="session_data_true(have_package_SatConfig_spread)" /> - <widget type="literal" label="scdb" default="${session.have_package_scdb}" acl="session_data_true(have_package_scdb)" /> <widget type="literal" label="scdb_accessor_perl" default="${session.have_package_scdb_accessor_perl}" acl="session_data_true(have_package_scdb_accessor_perl)" /> + <widget type="literal" label="scdb" default="${session.have_package_scdb}" acl="session_data_true(have_package_scdb)" /> <widget type="literal" label="SNMPAlerts" default="${session.have_package_SNMPAlerts}" acl="session_data_true(have_package_SNMPAlerts)" /> + <widget type="literal" label="spacewalk-backend" default="${session.have_package_spacewalk_backend}" acl="session_data_true(have_package_spacewalk_backend)" /> + <widget type="literal" label="spacewalk-base-minimal" default="${session.have_package_spacewalk_base_minimal}" acl="session_data_true(have_package_spacewalk_base_minimal)" /> + <widget type="literal" label="spacewalk-certs-tools" default="${session.have_package_spacewalk_certs_tools}" acl="session_data_true(have_package_spacewalk_certs_tools)" /> + <widget type="literal" label="spacewalk-proxy-broker" default="${session.have_package_spacewalk_proxy_broker}" acl="session_data_true(have_package_spacewalk_proxy_broker)" /> + <widget type="literal" label="spacewalk-proxy-common" default="${session.have_package_spacewalk_proxy_common}" acl="session_data_true(have_package_spacewalk_proxy_common)" /> + <widget type="literal" label="spacewalk-proxy-docs" default="${session.have_package_spacewalk_proxy_docs}" acl="session_data_true(have_package_spacewalk_proxy_docs)" /> + <widget type="literal" label="spacewalk-proxy-html" default="${session.have_package_spacewalk_proxy_html}" acl="session_data_true(have_package_spacewalk_proxy_html)" /> + <widget type="literal" label="spacewalk-proxy-installer" default="${session.have_package_spacewalk_installer}" acl="session_data_true(have_package_spacewalk_proxy_installer)" /> + <widget type="literal" label="spacewalk-proxy-management" default="${session.have_package_spacewalk_proxy_management}" acl="session_data_true(have_package_spacewalk_proxy_management)" /> + <widget type="literal" label="spacewalk-proxy-monitoring" default="${session.have_package_spacewalk_proxy_monitoring}" acl="session_data_true(have_package_spacewalk_proxy_monitoring)" /> + <widget type="literal" label="spacewalk-proxy-package-manager" default="${session.have_package_spacewalk_proxy_package_manager}" acl="session_data_true(have_package_spacewalk_proxy_package_manager)" /> + <widget type="literal" label="spacewalk-proxy-redirect" default="${session.have_package_spacewalk_proxy_redirect}" acl="session_data_true(have_package_spacewalk_proxy_redirect)" /> + <widget type="literal" label="spacewalk-ssl-cert-check" default="${session.have_package_spacewalk_ssl_cert_check}" acl="session_data_true(have_package_spacewalk_ssl_cert_check)" /> <widget type="literal" label="SputLite-client" default="${session.have_package_SputLite_client}" acl="session_data_true(have_package_SputLite_client)" /> <widget type="literal" label="SputLite-server" default="${session.have_package_SputLite_server}" acl="session_data_true(have_package_SputLite_server)" /> <widget type="literal" label="ssl_bridge" default="${session.have_package_ssl_bridge}" acl="session_data_true(have_package_ssl_bridge)" /> <widget type="literal" label="status_log_acceptor" default="${session.have_package_status_log_acceptor}" acl="session_data_true(have_package_status_log_acceptor)" /> <widget type="literal" label="Time-System" default="${session.have_package_Time_System}" acl="session_data_true(have_package_Time_System)" /> - <widget type="literal" label="tsdb" default="${session.have_package_tsdb}" acl="session_data_true(have_package_tsdb)" /> <widget type="literal" label="tsdb_accessor_perl" default="${session.have_package_tsdb_accessor_perl}" acl="session_data_true(have_package_tsdb_accessor_perl)" /> - <widget type="literal" label="spacewalk-proxy-html" default="${session.have_package_spacewalk_proxy_html}" acl="session_data_true(have_package_spacewalk_proxy_html)" /> - <widget type="literal" label="spacewalk-ssl-cert-check" default="${session.have_package_spacewalk_ssl_cert_check}" acl="session_data_true(have_package_spacewalk_ssl_cert_check)" /> - <widget type="literal" label="spacewalk-proxy-common" default="${session.have_package_spacewalk_proxy_common}" acl="session_data_true(have_package_spacewalk_proxy_common)" /> - <widget type="literal" label="spacewalk-proxy-docs" default="${session.have_package_spacewalk_proxy_docs}" acl="session_data_true(have_package_spacewalk_proxy_docs)" /> - <widget type="literal" label="spacewalk-proxy-monitoring" default="${session.have_package_spacewalk_proxy_monitoring}" acl="session_data_true(have_package_spacewalk_proxy_monitoring)" /> - <widget type="literal" label="spacewalk-backend" default="${session.have_package_spacewalk_backend}" acl="session_data_true(have_package_spacewalk_backend)" /> - <widget type="literal" label="spacewalk-proxy-package-manager" default="${session.have_package_spacewalk_proxy_package_manager}" acl="session_data_true(have_package_spacewalk_proxy_package_manager)" /> - <widget type="literal" label="spacewalk-certs-tools" default="${session.have_package_spacewalk_certs_tools}" acl="session_data_true(have_package_spacewalk_certs_tools)" /> - <widget type="literal" label="spacewalk-proxy-broker" default="${session.have_package_spacewalk_proxy_broker}" acl="session_data_true(have_package_spacewalk_proxy_broker)" /> - <widget type="literal" label="spacewalk-proxy-management" default="${session.have_package_spacewalk_proxy_management}" acl="session_data_true(have_package_spacewalk_proxy_management)" /> - <widget type="literal" label="spacewalk-base-minimal" default="${session.have_package_spacewalk_base_minimal}" acl="session_data_true(have_package_spacewalk_base_minimal)" /> - <widget type="literal" label="spacewalk-proxy-redirect" default="${session.have_package_spacewalk_proxy_redirect}" acl="session_data_true(have_package_spacewalk_proxy_redirect)" /> - <widget type="literal" label="nocpulse-common" default="${session.have_package_nocpulse_common}" acl="session_data_true(have_package_nocpulse_common)" /> - <widget type="literal" label="nocpulse-db-perl" default="${session.have_package_nocpulse_db_perl}" acl="session_data_true(have_package_nocpulse_db_perl)" /> - <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> - <widget type="literal" label="rhn-proxy-branding" default="${session.have_package_rhn_proxy_branding}" acl="session_data_true(have_package_rhn_proxy_branding)" /> - <widget type="literal" label="httpd" default="${session.have_package_httpd}" acl="session_data_true(have_package_httpd)" /> - <widget type="literal" label="mod_python" default="${session.have_package_mod_python}" acl="session_data_true(have_package_mod_python)" /> - <widget type="literal" label="mod_ssl" default="${session.have_package_mod_ssl}" acl="session_data_true(have_package_mod_ssl)" /> + <widget type="literal" label="tsdb" default="${session.have_package_tsdb}" acl="session_data_true(have_package_tsdb)" /> </rhn-form> </collect-data>
commit 7806888cec9a4100ee0e78cb93549056b8d2f6fd Author: Miroslav Suchý msuchy@redhat.com Date: Tue Mar 24 11:46:29 2009 +0100
491670 - add missing widget so packages are really removed
diff --git a/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml index 532ac56..d076ed7 100644 --- a/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/4.2/install-rhn-proxy.xml @@ -268,6 +268,22 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="Time-System" default="${session.have_package_Time_System}" acl="session_data_true(have_package_Time_System)" /> <widget type="literal" label="tsdb" default="${session.have_package_tsdb}" acl="session_data_true(have_package_tsdb)" /> <widget type="literal" label="tsdb_accessor_perl" default="${session.have_package_tsdb_accessor_perl}" acl="session_data_true(have_package_tsdb_accessor_perl)" /> + <widget type="literal" label="spacewalk-proxy-html" default="${session.have_package_spacewalk_proxy_html}" acl="session_data_true(have_package_spacewalk_proxy_html)" /> + <widget type="literal" label="spacewalk-ssl-cert-check" default="${session.have_package_spacewalk_ssl_cert_check}" acl="session_data_true(have_package_spacewalk_ssl_cert_check)" /> + <widget type="literal" label="spacewalk-proxy-common" default="${session.have_package_spacewalk_proxy_common}" acl="session_data_true(have_package_spacewalk_proxy_common)" /> + <widget type="literal" label="spacewalk-proxy-docs" default="${session.have_package_spacewalk_proxy_docs}" acl="session_data_true(have_package_spacewalk_proxy_docs)" /> + <widget type="literal" label="spacewalk-proxy-monitoring" default="${session.have_package_spacewalk_proxy_monitoring}" acl="session_data_true(have_package_spacewalk_proxy_monitoring)" /> + <widget type="literal" label="spacewalk-backend" default="${session.have_package_spacewalk_backend}" acl="session_data_true(have_package_spacewalk_backend)" /> + <widget type="literal" label="spacewalk-proxy-package-manager" default="${session.have_package_spacewalk_proxy_package_manager}" acl="session_data_true(have_package_spacewalk_proxy_package_manager)" /> + <widget type="literal" label="spacewalk-certs-tools" default="${session.have_package_spacewalk_certs_tools}" acl="session_data_true(have_package_spacewalk_certs_tools)" /> + <widget type="literal" label="spacewalk-proxy-broker" default="${session.have_package_spacewalk_proxy_broker}" acl="session_data_true(have_package_spacewalk_proxy_broker)" /> + <widget type="literal" label="spacewalk-proxy-management" default="${session.have_package_spacewalk_proxy_management}" acl="session_data_true(have_package_spacewalk_proxy_management)" /> + <widget type="literal" label="spacewalk-base-minimal" default="${session.have_package_spacewalk_base_minimal}" acl="session_data_true(have_package_spacewalk_base_minimal)" /> + <widget type="literal" label="spacewalk-proxy-redirect" default="${session.have_package_spacewalk_proxy_redirect}" acl="session_data_true(have_package_spacewalk_proxy_redirect)" /> + <widget type="literal" label="nocpulse-common" default="${session.have_package_nocpulse_common}" acl="session_data_true(have_package_nocpulse_common)" /> + <widget type="literal" label="nocpulse-db-perl" default="${session.have_package_nocpulse_db_perl}" acl="session_data_true(have_package_nocpulse_db_perl)" /> + <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> + <widget type="literal" label="rhn-proxy-branding" default="${session.have_package_rhn_proxy_branding}" acl="session_data_true(have_package_rhn_proxy_branding)" /> </rhn-form> </collect-data>
diff --git a/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml index fcd83b3..fa73aa2 100644 --- a/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.0/install-rhn-proxy.xml @@ -268,6 +268,22 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="Time-System" default="${session.have_package_Time_System}" acl="session_data_true(have_package_Time_System)" /> <widget type="literal" label="tsdb" default="${session.have_package_tsdb}" acl="session_data_true(have_package_tsdb)" /> <widget type="literal" label="tsdb_accessor_perl" default="${session.have_package_tsdb_accessor_perl}" acl="session_data_true(have_package_tsdb_accessor_perl)" /> + <widget type="literal" label="spacewalk-proxy-html" default="${session.have_package_spacewalk_proxy_html}" acl="session_data_true(have_package_spacewalk_proxy_html)" /> + <widget type="literal" label="spacewalk-ssl-cert-check" default="${session.have_package_spacewalk_ssl_cert_check}" acl="session_data_true(have_package_spacewalk_ssl_cert_check)" /> + <widget type="literal" label="spacewalk-proxy-common" default="${session.have_package_spacewalk_proxy_common}" acl="session_data_true(have_package_spacewalk_proxy_common)" /> + <widget type="literal" label="spacewalk-proxy-docs" default="${session.have_package_spacewalk_proxy_docs}" acl="session_data_true(have_package_spacewalk_proxy_docs)" /> + <widget type="literal" label="spacewalk-proxy-monitoring" default="${session.have_package_spacewalk_proxy_monitoring}" acl="session_data_true(have_package_spacewalk_proxy_monitoring)" /> + <widget type="literal" label="spacewalk-backend" default="${session.have_package_spacewalk_backend}" acl="session_data_true(have_package_spacewalk_backend)" /> + <widget type="literal" label="spacewalk-proxy-package-manager" default="${session.have_package_spacewalk_proxy_package_manager}" acl="session_data_true(have_package_spacewalk_proxy_package_manager)" /> + <widget type="literal" label="spacewalk-certs-tools" default="${session.have_package_spacewalk_certs_tools}" acl="session_data_true(have_package_spacewalk_certs_tools)" /> + <widget type="literal" label="spacewalk-proxy-broker" default="${session.have_package_spacewalk_proxy_broker}" acl="session_data_true(have_package_spacewalk_proxy_broker)" /> + <widget type="literal" label="spacewalk-proxy-management" default="${session.have_package_spacewalk_proxy_management}" acl="session_data_true(have_package_spacewalk_proxy_management)" /> + <widget type="literal" label="spacewalk-base-minimal" default="${session.have_package_spacewalk_base_minimal}" acl="session_data_true(have_package_spacewalk_base_minimal)" /> + <widget type="literal" label="spacewalk-proxy-redirect" default="${session.have_package_spacewalk_proxy_redirect}" acl="session_data_true(have_package_spacewalk_proxy_redirect)" /> + <widget type="literal" label="nocpulse-common" default="${session.have_package_nocpulse_common}" acl="session_data_true(have_package_nocpulse_common)" /> + <widget type="literal" label="nocpulse-db-perl" default="${session.have_package_nocpulse_db_perl}" acl="session_data_true(have_package_nocpulse_db_perl)" /> + <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> + <widget type="literal" label="rhn-proxy-branding" default="${session.have_package_rhn_proxy_branding}" acl="session_data_true(have_package_rhn_proxy_branding)" </rhn-form> </collect-data>
diff --git a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml index 0fe49f5..48024b0 100644 --- a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml @@ -268,6 +268,24 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="Time-System" default="${session.have_package_Time_System}" acl="session_data_true(have_package_Time_System)" /> <widget type="literal" label="tsdb" default="${session.have_package_tsdb}" acl="session_data_true(have_package_tsdb)" /> <widget type="literal" label="tsdb_accessor_perl" default="${session.have_package_tsdb_accessor_perl}" acl="session_data_true(have_package_tsdb_accessor_perl)" /> + <widget type="literal" label="spacewalk-proxy-html" default="${session.have_package_spacewalk_proxy_html}" acl="session_data_true(have_package_spacewalk_proxy_html)" /> + <widget type="literal" label="spacewalk-ssl-cert-check" default="${session.have_package_spacewalk_ssl_cert_check}" acl="session_data_true(have_package_spacewalk_ssl_cert_check)" /> + <widget type="literal" label="spacewalk-proxy-common" default="${session.have_package_spacewalk_proxy_common}" acl="session_data_true(have_package_spacewalk_proxy_common)" /> + <widget type="literal" label="spacewalk-proxy-docs" default="${session.have_package_spacewalk_proxy_docs}" acl="session_data_true(have_package_spacewalk_proxy_docs)" /> + <widget type="literal" label="spacewalk-proxy-monitoring" default="${session.have_package_spacewalk_proxy_monitoring}" acl="session_data_true(have_package_spacewalk_proxy_monitoring)" /> + <widget type="literal" label="spacewalk-backend" default="${session.have_package_spacewalk_backend}" acl="session_data_true(have_package_spacewalk_backend)" /> + <widget type="literal" label="spacewalk-proxy-package-manager" default="${session.have_package_spacewalk_proxy_package_manager}" acl="session_data_true(have_package_spacewalk_proxy_package_manager)" /> + <widget type="literal" label="spacewalk-certs-tools" default="${session.have_package_spacewalk_certs_tools}" acl="session_data_true(have_package_spacewalk_certs_tools)" /> + <widget type="literal" label="spacewalk-proxy-broker" default="${session.have_package_spacewalk_proxy_broker}" acl="session_data_true(have_package_spacewalk_proxy_broker)" /> + <widget type="literal" label="spacewalk-proxy-management" default="${session.have_package_spacewalk_proxy_management}" acl="session_data_true(have_package_spacewalk_proxy_management)" /> + <widget type="literal" label="spacewalk-base-minimal" default="${session.have_package_spacewalk_base_minimal}" acl="session_data_true(have_package_spacewalk_base_minimal)" /> + <widget type="literal" label="spacewalk-proxy-redirect" default="${session.have_package_spacewalk_proxy_redirect}" acl="session_data_true(have_package_spacewalk_proxy_redirect)" /> + <widget type="literal" label="nocpulse-common" default="${session.have_package_nocpulse_common}" acl="session_data_true(have_package_nocpulse_common)" /> + <widget type="literal" label="nocpulse-db-perl" default="${session.have_package_nocpulse_db_perl}" acl="session_data_true(have_package_nocpulse_db_perl)" /> + <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> + <widget type="literal" label="httpd" default="${session.have_package_httpd}" acl="session_data_true(have_package_httpd)" /> <widget type="literal" label="mod_python" default="${session.have_package_mod_python}" acl="session_data_true(have_package_mod_python)" /> + <widget type="literal" label="mod_ssl" default="${session.have_package_mod_ssl}" acl="session_data_true(have_package_mod_ssl)" /> + <widget type="literal" label="rhn-proxy-branding" default="${session.have_package_rhn_proxy_branding}" acl="session_data_true(have_package_rhn_proxy_branding)" /> </rhn-form> </collect-data>
diff --git a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml index a4186e6..c4dd76f 100644 --- a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml @@ -265,7 +265,22 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="Time-System" default="${session.have_package_Time_System}" acl="session_data_true(have_package_Time_System)" /> <widget type="literal" label="tsdb" default="${session.have_package_tsdb}" acl="session_data_true(have_package_tsdb)" /> <widget type="literal" label="tsdb_accessor_perl" default="${session.have_package_tsdb_accessor_perl}" acl="session_data_true(have_package_tsdb_accessor_perl)" /> - + <widget type="literal" label="spacewalk-proxy-html" default="${session.have_package_spacewalk_proxy_html}" acl="session_data_true(have_package_spacewalk_proxy_html)" /> + <widget type="literal" label="spacewalk-ssl-cert-check" default="${session.have_package_spacewalk_ssl_cert_check}" acl="session_data_true(have_package_spacewalk_ssl_cert_check)" /> + <widget type="literal" label="spacewalk-proxy-common" default="${session.have_package_spacewalk_proxy_common}" acl="session_data_true(have_package_spacewalk_proxy_common)" /> + <widget type="literal" label="spacewalk-proxy-docs" default="${session.have_package_spacewalk_proxy_docs}" acl="session_data_true(have_package_spacewalk_proxy_docs)" /> + <widget type="literal" label="spacewalk-proxy-monitoring" default="${session.have_package_spacewalk_proxy_monitoring}" acl="session_data_true(have_package_spacewalk_proxy_monitoring)" /> + <widget type="literal" label="spacewalk-backend" default="${session.have_package_spacewalk_backend}" acl="session_data_true(have_package_spacewalk_backend)" /> + <widget type="literal" label="spacewalk-proxy-package-manager" default="${session.have_package_spacewalk_proxy_package_manager}" acl="session_data_true(have_package_spacewalk_proxy_package_manager)" /> + <widget type="literal" label="spacewalk-certs-tools" default="${session.have_package_spacewalk_certs_tools}" acl="session_data_true(have_package_spacewalk_certs_tools)" /> + <widget type="literal" label="spacewalk-proxy-broker" default="${session.have_package_spacewalk_proxy_broker}" acl="session_data_true(have_package_spacewalk_proxy_broker)" /> + <widget type="literal" label="spacewalk-proxy-management" default="${session.have_package_spacewalk_proxy_management}" acl="session_data_true(have_package_spacewalk_proxy_management)" /> + <widget type="literal" label="spacewalk-base-minimal" default="${session.have_package_spacewalk_base_minimal}" acl="session_data_true(have_package_spacewalk_base_minimal)" /> + <widget type="literal" label="spacewalk-proxy-redirect" default="${session.have_package_spacewalk_proxy_redirect}" acl="session_data_true(have_package_spacewalk_proxy_redirect)" /> + <widget type="literal" label="nocpulse-common" default="${session.have_package_nocpulse_common}" acl="session_data_true(have_package_nocpulse_common)" /> + <widget type="literal" label="nocpulse-db-perl" default="${session.have_package_nocpulse_db_perl}" acl="session_data_true(have_package_nocpulse_db_perl)" /> + <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> + <widget type="literal" label="rhn-proxy-branding" default="${session.have_package_rhn_proxy_branding}" acl="session_data_true(have_package_rhn_proxy_branding)" /> <widget type="literal" label="httpd" default="${session.have_package_httpd}" acl="session_data_true(have_package_httpd)" /> <widget type="literal" label="mod_python" default="${session.have_package_mod_python}" acl="session_data_true(have_package_mod_python)" /> <widget type="literal" label="mod_ssl" default="${session.have_package_mod_ssl}" acl="session_data_true(have_package_mod_ssl)" /> diff --git a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml index db51230..c7983a4 100644 --- a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml @@ -280,6 +280,7 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="nocpulse-common" default="${session.have_package_nocpulse_common}" acl="session_data_true(have_package_nocpulse_common)" /> <widget type="literal" label="nocpulse-db-perl" default="${session.have_package_nocpulse_db_perl}" acl="session_data_true(have_package_nocpulse_db_perl)" /> <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> + <widget type="literal" label="rhn-proxy-branding" default="${session.have_package_rhn_proxy_branding}" acl="session_data_true(have_package_rhn_proxy_branding)" /> <widget type="literal" label="httpd" default="${session.have_package_httpd}" acl="session_data_true(have_package_httpd)" /> <widget type="literal" label="mod_python" default="${session.have_package_mod_python}" acl="session_data_true(have_package_mod_python)" /> <widget type="literal" label="mod_ssl" default="${session.have_package_mod_ssl}" acl="session_data_true(have_package_mod_ssl)" />
commit e8db4f087e18a32cefecbc301680ac87388c39d8 Author: Miroslav Suchý msuchy@redhat.com Date: Mon Mar 23 16:49:49 2009 +0100
491670 - add conflicting package from older proxy versions
diff --git a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml index 9f977cb..0fe49f5 100644 --- a/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.1/install-rhn-proxy.xml @@ -789,7 +789,7 @@ proxy will need to be reconfigured to use a different Satellite server. <action-name>Remove proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl mod_ssl httpd-suexec; do +rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl httpd-suexec; do rpm -q $package >/dev/null && echo $package; done` </script> </run-script> diff --git a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml index 1f08010..a4186e6 100644 --- a/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.2/install-rhn-proxy.xml @@ -29,7 +29,10 @@ <package>ConfigPusher-general</package> <package>eventReceivers</package> <package>FcntlLock</package> + <package>httpd</package> <package>httpd-suexec</package> + <package>mod_python</package> + <package>mod_ssl</package> <package>jabberd</package> <package>libapreq2</package> <package>LongLegs</package> @@ -262,6 +265,11 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="Time-System" default="${session.have_package_Time_System}" acl="session_data_true(have_package_Time_System)" /> <widget type="literal" label="tsdb" default="${session.have_package_tsdb}" acl="session_data_true(have_package_tsdb)" /> <widget type="literal" label="tsdb_accessor_perl" default="${session.have_package_tsdb_accessor_perl}" acl="session_data_true(have_package_tsdb_accessor_perl)" /> + + <widget type="literal" label="httpd" default="${session.have_package_httpd}" acl="session_data_true(have_package_httpd)" /> + <widget type="literal" label="mod_python" default="${session.have_package_mod_python}" acl="session_data_true(have_package_mod_python)" /> + <widget type="literal" label="mod_ssl" default="${session.have_package_mod_ssl}" acl="session_data_true(have_package_mod_ssl)" /> + </rhn-form> </collect-data>
@@ -789,7 +797,7 @@ proxy will need to be reconfigured to use a different Satellite server. <action-name>Remove proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-common rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl mod_ssl httpd-suexec; do +rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-common rhns-proxy-docs rhns-proxy-management rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl httpd-suexec; do rpm -q $package >/dev/null && echo $package; done` </script> </run-script> diff --git a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml index f7023ee..db51230 100644 --- a/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml +++ b/web/html/applications/rhn-proxy/5.3/install-rhn-proxy.xml @@ -29,7 +29,10 @@ <package>ConfigPusher-general</package> <package>eventReceivers</package> <package>FcntlLock</package> + <package>httpd</package> <package>httpd-suexec</package> + <package>mod_python</package> + <package>mod_ssl</package> <package>jabberd</package> <package>libapreq2</package> <package>LongLegs</package> @@ -277,6 +280,9 @@ Would you like to enable Monitoring Proxy functionality on this system? <widget type="literal" label="nocpulse-common" default="${session.have_package_nocpulse_common}" acl="session_data_true(have_package_nocpulse_common)" /> <widget type="literal" label="nocpulse-db-perl" default="${session.have_package_nocpulse_db_perl}" acl="session_data_true(have_package_nocpulse_db_perl)" /> <widget type="literal" label="jabberd-selinux" default="${session.have_package_jabberd_selinux}" acl="session_data_true(have_package_jabberd_selinux)" /> + <widget type="literal" label="httpd" default="${session.have_package_httpd}" acl="session_data_true(have_package_httpd)" /> + <widget type="literal" label="mod_python" default="${session.have_package_mod_python}" acl="session_data_true(have_package_mod_python)" /> + <widget type="literal" label="mod_ssl" default="${session.have_package_mod_ssl}" acl="session_data_true(have_package_mod_ssl)" /> </rhn-form> </collect-data>
@@ -840,7 +846,7 @@ proxy will need to be reconfigured to use a different Satellite server. <action-name>Remove proxy packages</action-name> <script> #!/bin/sh -rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-common rhns-proxy-docs rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl mod_ssl httpd-suexec spacewalk-proxy-html spacewalk-ssl-cert-check spacewalk-proxy-common spacewalk-proxy-installer spacewalk-proxy-docs spacewalk-proxy-monitoring spacewalk-backend spacewalk-proxy-package-manager spacewalk-certs-tools spacewalk-proxy-broker spacewalk-proxy-management spacewalk-base-minimal spacewalk-proxy-redirect nocpulse-common nocpulse-db-perl jabberd-selinux; do +rpm -e `for package in bdb_perl ConfigPusher-general eventReceivers FcntlLock jabberd libapreq2 MessageQueue mm mod_perl NOCpulsePlugins np-config NPalert NPusers nslogs oracle-devel oracle_perl perl-Apache-Admin-Config perl-Apache-DBI perl-BerkeleyDB perl-BSD-Resource perl-Class-MethodMaker perl-Class-Singleton perl-Config-IniFiles perl-Crypt-DES perl-Crypt-GeneratePassword perl-Crypt-SSLeay perl-DateTime perl-DateTime-Locale perl-DateTime-TimeZone perl-DBD-Oracle perl-Devel-Symdump perl-Error perl-FreezeThaw perl-HTML-TableExtract perl-IO-Capture perl-IO-Socket-SSL perl-IO-stringy perl-libapreq2 perl-Mail-Alias perl-MailTools perl-MIME-tools perl-Net-SNMP perl-Network-IPv4Addr perl-Net_SSLeay perl-NOCpulse-CLAC perl-NOCpulse-Debug perl-NOCpulse-Gritch perl-NOCpulse-Object perl-NOCpulse-OracleDB perl-NOCpulse-PersistentConnection perl-NOCpulse-Probe perl-NOCpulse-ProcessPool perl-NOCpulse-Scheduler perl-NOCpulse-SetID perl-NOCpulse-Utils perl-Params-Validate perl-TimeDate perl-XML-Generator ProgAGoGo python-sgmlop rhn-base-minimal rhn-ssl-cert-check rhns rhns-auth-daemon rhns-certs-tools rhns-proxy-broker rhns-proxy-common rhns-proxy-docs rhns-proxy-monitoring rhns-proxy-package-manager rhns-proxy-redirect rhns-proxy-tools SatConfig-ApacheDepot SatConfig-bootstrap SatConfig-bootstrap-server SatConfig-cluster SatConfig-dbsynch SatConfig-general SatConfig-generator SatConfig-installer SatConfig-spread scdb scdb_accessor_perl SNMPAlerts SputLite-client SputLite-server ssl_bridge status_log_acceptor Time-System tsdb tsdb_accessor_perl httpd mod_python mod_ssl httpd httpd-suexec spacewalk-proxy-html spacewalk-ssl-cert-check spacewalk-proxy-common spacewalk-proxy-installer spacewalk-proxy-docs spacewalk-proxy-monitoring spacewalk-backend spacewalk-proxy-package-manager spacewalk-certs-tools spacewalk-proxy-broker spacewalk-proxy-management spacewalk-base-minimal spacewalk-proxy-redirect nocpulse-common nocpulse-db-perl jabberd-selinux; do rpm -q $package >/dev/null && echo $package; done` </script> </run-script>
commit 102e84ce436e686f28ad7d5cf591e24961600b48 Author: Jason Dobies jason.dobies@redhat.com Date: Wed Mar 25 09:28:23 2009 -0500
Oops, I messed up in git and accidentally reverted this change. Fixing.
diff --git a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java index 52e1c34..21f4d61 100644 --- a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java +++ b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java @@ -137,8 +137,8 @@ public class NewChannelHelper { // then attempt to clone a channel (e.g. using API). In that case, // it is possible the family doesn't yet exist when this method is called. OrgManager.createChannelFamily(user.getOrg()); + family = ChannelFamilyFactory.lookupByOrg(user.getOrg()); } - family = ChannelFamilyFactory.lookupByOrg(user.getOrg()); family.getChannels().add(cloned); cloned.setChannelFamily(family);
commit a62a2fbd1fa403e667dd6c8b99427aaaae86a6c3 Author: Jason Dobies jason.dobies@redhat.com Date: Wed Mar 25 09:25:58 2009 -0500
Updated docs
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListBaseAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListBaseAction.java index d1747f4..4e5b788 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListBaseAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListBaseAction.java @@ -29,13 +29,18 @@ import com.redhat.rhn.frontend.taglibs.list.helper.Listable; import com.redhat.rhn.manager.errata.ErrataManager;
/** - * AddressesAction Setup the Addresses on the Request so - * the AddressTag will be able to render + * Base action for all pages that display an errata list. Subclasses simply implement + * the {@link #getErrataFilter()} method to indicate what data to return. * * @version $Rev$ */ public abstract class ErrataListBaseAction extends RhnAction implements Listable {
+ /** + * Indicates the specific erratum returned by a particular subclass. + * + * @return cannot be <code>null</code> + */ protected abstract ErrataFilter getErrataFilter();
/** {@inheritDoc} */
commit 7e28399747af69ae15ba6cdd3f0fc04790e12d0b Author: Jason Dobies jason.dobies@redhat.com Date: Wed Mar 25 09:22:36 2009 -0500
467063 - Ported all errata page to use new list tag
diff --git a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java index 21f4d61..52e1c34 100644 --- a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java +++ b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java @@ -137,8 +137,8 @@ public class NewChannelHelper { // then attempt to clone a channel (e.g. using API). In that case, // it is possible the family doesn't yet exist when this method is called. OrgManager.createChannelFamily(user.getOrg()); - family = ChannelFamilyFactory.lookupByOrg(user.getOrg()); } + family = ChannelFamilyFactory.lookupByOrg(user.getOrg()); family.getChannels().add(cloned); cloned.setChannelFamily(family);
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListAction.java deleted file mode 100644 index bb4dc0f..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListAction.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.errata; - -import com.redhat.rhn.frontend.action.BaseFilterAction; - -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.ActionMapping; - -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * AddressesAction Setup the Addresses on the Request so - * the AddressTag will be able to render - * @version $Rev$ - */ -public class ErrataListAction extends BaseFilterAction { - - /** {@inheritDoc} */ - public ActionForward execute(ActionMapping mapping, - ActionForm formIn, - HttpServletRequest request, - HttpServletResponse response) { - Map params = makeParamMap(request); - processFilterParameters(params, request); - return getStrutsDelegate().forwardParams(mapping.findForward("default"), params); - } -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListAllAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListAllAction.java new file mode 100644 index 0000000..4741bfc --- /dev/null +++ b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListAllAction.java @@ -0,0 +1,25 @@ +/** + * Copyright (c) 2009 Red Hat, Inc. + * + * This software is licensed to you under the GNU General Public License, + * version 2 (GPLv2). There is NO WARRANTY for this software, express or + * implied, including the implied warranties of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 + * along with this software; if not, see + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. + * + * Red Hat trademarks are not licensed under GPLv2. No permission is + * granted to use or replicate Red Hat trademarks that are incorporated + * in this software or its documentation. + */ +package com.redhat.rhn.frontend.action.errata; + +/** + * @version $Revision$ + */ +public class ErrataListAllAction extends ErrataListBaseAction { + + protected ErrataFilter getErrataFilter() { + return ErrataFilter.ALL; + } +} diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListBaseAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListBaseAction.java new file mode 100644 index 0000000..d1747f4 --- /dev/null +++ b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListBaseAction.java @@ -0,0 +1,83 @@ +/** + * Copyright (c) 2009 Red Hat, Inc. + * + * This software is licensed to you under the GNU General Public License, + * version 2 (GPLv2). There is NO WARRANTY for this software, express or + * implied, including the implied warranties of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 + * along with this software; if not, see + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. + * + * Red Hat trademarks are not licensed under GPLv2. No permission is + * granted to use or replicate Red Hat trademarks that are incorporated + * in this software or its documentation. + */ +package com.redhat.rhn.frontend.action.errata; + +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.apache.struts.action.ActionForm; +import org.apache.struts.action.ActionForward; +import org.apache.struts.action.ActionMapping; +import com.redhat.rhn.common.db.datasource.DataResult; +import com.redhat.rhn.domain.user.User; +import com.redhat.rhn.frontend.struts.RequestContext; +import com.redhat.rhn.frontend.struts.RhnAction; +import com.redhat.rhn.frontend.taglibs.list.helper.ListHelper; +import com.redhat.rhn.frontend.taglibs.list.helper.Listable; +import com.redhat.rhn.manager.errata.ErrataManager; + +/** + * AddressesAction Setup the Addresses on the Request so + * the AddressTag will be able to render + * + * @version $Rev$ + */ +public abstract class ErrataListBaseAction extends RhnAction implements Listable { + + protected abstract ErrataFilter getErrataFilter(); + + /** {@inheritDoc} */ + public ActionForward execute(ActionMapping actionMapping, + ActionForm actionForm, + HttpServletRequest request, + HttpServletResponse response) + throws Exception { + + ListHelper helper = new ListHelper(this, request); + helper.execute(); + + return actionMapping.findForward("default"); + } + + /** {@inheritDoc} */ + public List getResult(RequestContext context) { + + User user = context.getLoggedInUser(); + DataResult result; + + switch (getErrataFilter()) { + case ALL: + result = ErrataManager.allErrata(user); + break; + + case RELEVANT: + result = ErrataManager.relevantErrata(user); + break; + + default: + throw new IllegalStateException("Subclass did not return a valid errata " + + "filter"); + } + + return result; + } + + /** + * Used by subclasses to dictate the data that is displayed. + */ + protected enum ErrataFilter { + ALL, RELEVANT + } +} diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java index 5aaaa70..7fd756c 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java @@ -14,45 +14,15 @@ */ package com.redhat.rhn.frontend.action.errata;
-import java.util.List; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.ActionMapping; -import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.struts.RequestContext; -import com.redhat.rhn.frontend.struts.RhnAction; -import com.redhat.rhn.frontend.taglibs.list.helper.ListHelper; -import com.redhat.rhn.frontend.taglibs.list.helper.Listable; -import com.redhat.rhn.manager.errata.ErrataManager; - /** * Loads the data for the relevant errata. This action is written to comply with the * "new" list tag. * * @version $Revision$ */ -public class ErrataListRelevantAction extends RhnAction implements Listable { - - /** {@inheritDoc} */ - public ActionForward execute(ActionMapping actionMapping, - ActionForm actionForm, - HttpServletRequest request, - HttpServletResponse response) - throws Exception { - - ListHelper helper = new ListHelper(this, request); - helper.execute(); - - return actionMapping.findForward("default"); - } +public class ErrataListRelevantAction extends ErrataListBaseAction {
- /** {@inheritDoc} */ - public List getResult(RequestContext context) { - User user = context.getLoggedInUser(); - DataResult result = ErrataManager.relevantErrata(user); - return result; + protected ErrataFilter getErrataFilter() { + return ErrataFilter.RELEVANT; } } diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListSetupAction.java deleted file mode 100644 index f6bb82f..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListSetupAction.java +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.errata; - -import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.listview.PageControl; -import com.redhat.rhn.manager.errata.ErrataManager; - -/** - * ErrataListSetupAction - * @version $Rev$ - */ -public class ErrataListSetupAction extends BaseErrataListSetupAction { - - /** - * {@inheritDoc} - */ - protected DataResult getDataResult(User user, PageControl pc) { - pc.setFilter(true); - pc.setFilterColumn("advisorySynopsis"); - return ErrataManager.allErrata(user, pc); - } -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListActionTest.java deleted file mode 100644 index 1f213e6..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListActionTest.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.errata.test; - -import com.redhat.rhn.frontend.action.errata.ErrataListAction; -import com.redhat.rhn.frontend.struts.RequestContext; -import com.redhat.rhn.testing.ActionHelper; -import com.redhat.rhn.testing.RhnBaseTestCase; - -import org.apache.struts.action.ActionForward; - -/** - * ErrataListRelevantActionTest - * @version $Rev$ - */ -public class ErrataListActionTest extends RhnBaseTestCase { - - public ErrataListActionTest(String name) { - super(name); - } - - public void testExecute() throws Exception { - ErrataListAction action = new ErrataListAction(); - ActionHelper ah = new ActionHelper(); - - ah.setUpAction(action); - ah.setupProcessPagination(); - ah.getRequest().setupAddParameter(RequestContext.FILTER_STRING, "zzzz"); - ah.getRequest().setupAddParameter(RequestContext.PREVIOUS_FILTER_STRING, "zzzz"); - ActionForward forward = ah.executeAction(); - - assertTrue(forward.getPath().indexOf("zzzz") >= 0); - } - -} diff --git a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java index 04c0c37..eb08882 100644 --- a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java +++ b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java @@ -246,18 +246,18 @@ public class ErrataManager extends BaseManager { /** * Returns all of the errata. * @param user Currently logged in user. - * @param pc PageControl * @return all of the errata. */ - public static DataResult allErrata(User user, PageControl pc) { + public static DataResult allErrata(User user) { SelectMode m = ModeFactory.getMode("Errata_queries", "all_errata"); Map params = new HashMap(); params.put("org_id", user.getOrg().getId()); Map elabParams = new HashMap(); elabParams.put("user_id", user.getId()); - return makeDataResult(params, elabParams, pc, m); + DataResult result = makeDataResult(params, elabParams, null, m); + return result; } - + /** * Returns all of the errata in a channel * @param cid the channel id diff --git a/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java b/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java index ab68312..cf58c53 100644 --- a/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java +++ b/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java @@ -170,10 +170,7 @@ public class ErrataManagerTest extends RhnBaseTestCase {
public void testAllErrataList() { User user = UserTestUtils.findNewUser("testUser", "testOrg"); - PageControl pc = new PageControl(); - pc.setStart(1); - pc.setPageSize(20); - DataResult errata = ErrataManager.allErrata(user, pc); + DataResult errata = ErrataManager.allErrata(user); assertNotNull(errata); assertTrue(errata.size() <= 20); } diff --git a/java/code/webapp/WEB-INF/pages/errata/all.jsp b/java/code/webapp/WEB-INF/pages/errata/all.jsp index adf3fde..91cd452 100644 --- a/java/code/webapp/WEB-INF/pages/errata/all.jsp +++ b/java/code/webapp/WEB-INF/pages/errata/all.jsp @@ -1,4 +1,5 @@ <%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn" %> +<%@ taglib uri="http://rhn.redhat.com/tags/list" prefix="rl" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %> @@ -9,6 +10,7 @@ <meta name="page-decorator" content="none" /> </head> <body> + <html:messages id="message" message="true"> rhn:messages<c:out escapeXml="false" value="${message}" /></rhn:messages> </html:messages> @@ -18,44 +20,7 @@ <bean:message key="erratalist.jsp.allerrata"/> </rhn:toolbar>
-<form method="POST" name="rhn_list" action="/rhn/errata/AllErrataSubmit.do"> -<rhn:list pageList="${requestScope.pageList}" noDataText="erratalist.jsp.noerrata" - legend="errata"> - <rhn:listdisplay filterBy="erratalist.jsp.synopsis"> - <rhn:column header="erratalist.jsp.type" style="text-align: center;"> - <c:if test="${current.securityAdvisory}"> - <img src="/img/wrh-security.gif" - alt="<bean:message key='erratalist.jsp.securityadvisory' />" - title="<bean:message key='erratalist.jsp.securityadvisory' />" /> - </c:if> - <c:if test="${current.bugFix}"> - <img src="/img/wrh-bug.gif" - alt="<bean:message key='erratalist.jsp.bugadvisory' />" - title="<bean:message key='erratalist.jsp.bugadvisory' />" /> - </c:if> - <c:if test="${current.productEnhancement}"> - <img src="/img/wrh-product.gif" - alt="<bean:message key='erratalist.jsp.productenhancementadvisory' />" - title="<bean:message key='erratalist.jsp.productenhancementadvisory' />" /> - </c:if> - </rhn:column> - <rhn:column header="erratalist.jsp.advisory" - url="/rhn/errata/details/Details.do?eid=${current.id}"> - ${current.advisoryName} - </rhn:column> - <rhn:column header="erratalist.jsp.synopsis"> - ${current.advisorySynopsis} - </rhn:column> - <rhn:column header="erratalist.jsp.systems" style="text-align: center;" - url="/rhn/errata/details/SystemsAffected.do?eid=${current.id}" - renderUrl="${current.affectedSystemCount > 0}"> - ${current.affectedSystemCount} - </rhn:column> - <rhn:column header="erratalist.jsp.updated" style="text-align: center;"> - ${current.updateDate} - </rhn:column> - </rhn:listdisplay> -</rhn:list> -</form> +<%@ include file="/WEB-INF/pages/common/fragments/errata/relevant-errata-list.jspf" %> + </body> </html> diff --git a/java/code/webapp/WEB-INF/struts-config.xml b/java/code/webapp/WEB-INF/struts-config.xml index a458c58..d335ea5 100644 --- a/java/code/webapp/WEB-INF/struts-config.xml +++ b/java/code/webapp/WEB-INF/struts-config.xml @@ -1730,19 +1730,11 @@ <action path="/errata/AllErrata" scope="request" input="/WEB-INF/pages/errata/all.jsp" - type="com.redhat.rhn.frontend.action.errata.ErrataListSetupAction"> + type="com.redhat.rhn.frontend.action.errata.ErrataListAllAction"> <forward name="default" path="/WEB-INF/pages/errata/all.jsp" /> </action>
- <action path="/errata/AllErrataSubmit" - scope="request" - input="/WEB-INF/pages/errata/all.jsp" - type="com.redhat.rhn.frontend.action.errata.ErrataListAction"> - <forward name="default" - path="/errata/AllErrata.do" redirect="true"/> - </action> - <action path="/errata/Overview" scope="request" input="/WEB-INF/pages/errata/overview.jsp"
commit 4c9aed9b69c21ad7922507ab0a59ae3fe1d0f1a1 Author: Jan Pazdziora jpazdziora@redhat.com Date: Wed Mar 25 12:22:30 2009 +0100
Automatic commit of package [spacewalk-web] release [0.5.20-1].
diff --git a/rel-eng/packages/spacewalk-web b/rel-eng/packages/spacewalk-web index e84712b..25b0a41 100644 --- a/rel-eng/packages/spacewalk-web +++ b/rel-eng/packages/spacewalk-web @@ -1 +1 @@ -0.5.19-1 web/ +0.5.20-1 web/ diff --git a/web/spacewalk-web.spec b/web/spacewalk-web.spec index cdde26a..ab55e76 100644 --- a/web/spacewalk-web.spec +++ b/web/spacewalk-web.spec @@ -2,7 +2,7 @@ Name: spacewalk-web Summary: Spacewalk Web site packages Group: Applications/Internet License: GPLv2 -Version: 0.5.19 +Version: 0.5.20 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -318,6 +318,9 @@ rm -rf $RPM_BUILD_ROOT
# $Id$ %changelog +* Wed Mar 25 2009 Jan Pazdziora 0.5.20-1 +- 491687 - call wrapper around sudo invocations, to change SELinux domain + * Fri Mar 20 2009 Mike McCune mmccune@gmail.com 0.5.19-1 - space05 - bumping release footer/config for 0.5 release
commit 924938ee47bd8ab28490f1193c4f5857338763cd Author: Jan Pazdziora jpazdziora@redhat.com Date: Wed Mar 25 12:21:34 2009 +0100
Automatic commit of package [spacewalk-selinux] release [0.5.3-1].
diff --git a/rel-eng/packages/spacewalk-selinux b/rel-eng/packages/spacewalk-selinux index 9f55c47..097ccdb 100644 --- a/rel-eng/packages/spacewalk-selinux +++ b/rel-eng/packages/spacewalk-selinux @@ -1 +1 @@ -0.5.2-1 selinux/spacewalk-selinux/ +0.5.3-1 selinux/spacewalk-selinux/ diff --git a/selinux/spacewalk-selinux/spacewalk-selinux.spec b/selinux/spacewalk-selinux/spacewalk-selinux.spec index d9d7abb..c026ed6 100644 --- a/selinux/spacewalk-selinux/spacewalk-selinux.spec +++ b/selinux/spacewalk-selinux/spacewalk-selinux.spec @@ -7,7 +7,7 @@ %define modulename spacewalk
Name: spacewalk-selinux -Version: 0.5.2 +Version: 0.5.3 Release: 1%{?dist} Summary: SELinux policy module supporting Spacewalk Server
@@ -119,6 +119,9 @@ fi %{_datadir}/selinux/devel/include/%{moduletype}/%{modulename}.if
%changelog +* Wed Mar 25 2009 Jan Pazdziora 0.5.3-1 +- 491687 - label the sudo wrappers with httpd_unconfined_script_exec_t + * Mon Feb 9 2009 Jan Pazdziora 0.5.2-1 - spacewalk-selinux: allow satidmap.pl to do network connections
commit 862a0c6d731cce1e9e42ee58c06f1c21635c2717 Author: Jan Pazdziora jpazdziora@redhat.com Date: Wed Mar 25 12:20:07 2009 +0100
Automatic commit of package [spacewalk-admin] release [0.5.13-1].
diff --git a/rel-eng/packages/spacewalk-admin b/rel-eng/packages/spacewalk-admin index a3950cd..d532de3 100644 --- a/rel-eng/packages/spacewalk-admin +++ b/rel-eng/packages/spacewalk-admin @@ -1 +1 @@ -0.5.12-1 spacewalk/admin/ +0.5.13-1 spacewalk/admin/ diff --git a/spacewalk/admin/spacewalk-admin.spec b/spacewalk/admin/spacewalk-admin.spec index 13a7866..cf42406 100644 --- a/spacewalk/admin/spacewalk-admin.spec +++ b/spacewalk/admin/spacewalk-admin.spec @@ -2,7 +2,7 @@ Summary: Various utility scripts and data files for RHN Satellite installations Name: spacewalk-admin URL: https://fedorahosted.org/spacewalk -Version: 0.5.12 +Version: 0.5.13 Release: 1%{?dist} Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... License: GPLv2 @@ -58,6 +58,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/validate-sat-cert.3.gz
%changelog +* Wed Mar 25 2009 Jan Pazdziora 0.5.13-1 +- 491687 - wrapper around sudo rhn-load-ssl-cert.pl, to change SELinux domain + * Fri Mar 13 2009 Jan Pazdziora 0.5.12-1 - 486738 - change to root's home directory before running sqlplus
commit 1982f293a495f0a3866c39990ffa41d3f8e761cb Author: Jan Pazdziora jpazdziora@redhat.com Date: Wed Mar 25 12:18:21 2009 +0100
Automatic commit of package [spacewalk-certs-tools] release [0.5.4-1].
diff --git a/rel-eng/packages/spacewalk-certs-tools b/rel-eng/packages/spacewalk-certs-tools index 37ae6ca..b0df5d4 100644 --- a/rel-eng/packages/spacewalk-certs-tools +++ b/rel-eng/packages/spacewalk-certs-tools @@ -1 +1 @@ -0.5.3-1 spacewalk/certs-tools/ +0.5.4-1 spacewalk/certs-tools/ diff --git a/spacewalk/certs-tools/spacewalk-certs-tools.spec b/spacewalk/certs-tools/spacewalk-certs-tools.spec index d38880d..e0f6a29 100644 --- a/spacewalk/certs-tools/spacewalk-certs-tools.spec +++ b/spacewalk/certs-tools/spacewalk-certs-tools.spec @@ -2,7 +2,7 @@ Name: spacewalk-certs-tools Summary: Spacewalk SSL Key/Cert Tool Group: Applications/Internet License: GPLv2 -Version: 0.5.3 +Version: 0.5.4 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -50,6 +50,9 @@ rm -rf $RPM_BUILD_ROOT %{_var}/www/html/pub/bootstrap/client_config_update.py*
%changelog +* Wed Mar 25 2009 Jan Pazdziora 0.5.4-1 +- 491687 - wrapper around sudo /usr/bin/rhn-ssl-tool, to change SELinux domain + * Fri Mar 13 2009 Miroslav Suchy msuchy@redhat.com 0.5.3-1 - put Provides to satisfy older Proxies
commit 69062132d20311a94893e7f5fef43e7a7166d274 Author: Jan Pazdziora jpazdziora@redhat.com Date: Wed Mar 25 10:29:30 2009 +0100
491687 - label the /usr/bin/rhn-sudo-load-ssl-cert wrapper with httpd_unconfined_script_exec_t.
diff --git a/selinux/spacewalk-selinux/spacewalk-selinux.spec b/selinux/spacewalk-selinux/spacewalk-selinux.spec index 0eb0c7b..d9d7abb 100644 --- a/selinux/spacewalk-selinux/spacewalk-selinux.spec +++ b/selinux/spacewalk-selinux/spacewalk-selinux.spec @@ -92,7 +92,8 @@ for selinuxvariant in %{selinux_variants}
/usr/sbin/semanage port -a -t cobbler_port_t -p tcp 25152 || :
-/sbin/restorecon -rvvi /etc/rhn/satellite-httpd/conf/satidmap.pl %{_sbindir}/rhn-sat-restart-silent /var/log/rhn /var/cache/rhn %{_bindir}/rhn-sudo-ssl-tool +/sbin/restorecon -rvvi /etc/rhn/satellite-httpd/conf/satidmap.pl %{_sbindir}/rhn-sat-restart-silent /var/log/rhn /var/cache/rhn \ + %{_bindir}/rhn-sudo-ssl-tool %{_bindir}/rhn-sudo-load-ssl-cert
/usr/sbin/setsebool -P httpd_enable_cgi 1 /usr/sbin/setsebool -P httpd_can_network_connect 1 @@ -108,7 +109,8 @@ if [ $1 -eq 0 ]; then /usr/sbin/semanage port -d -t cobbler_port_t -p tcp 25152 || : fi
-/sbin/restorecon -rvvi /etc/rhn/satellite-httpd/conf/satidmap.pl %{_sbindir}/rhn-sat-restart-silent /var/log/rhn /var/cache/rhn %{_bindir}/rhn-sudo-ssl-tool +/sbin/restorecon -rvvi /etc/rhn/satellite-httpd/conf/satidmap.pl %{_sbindir}/rhn-sat-restart-silent /var/log/rhn /var/cache/rhn \ + %{_bindir}/rhn-sudo-ssl-tool %{_bindir}/rhn-sudo-load-ssl-cert
%files %defattr(-,root,root,0755) diff --git a/selinux/spacewalk-selinux/spacewalk.fc b/selinux/spacewalk-selinux/spacewalk.fc index 785fbaa..a087e2f 100644 --- a/selinux/spacewalk-selinux/spacewalk.fc +++ b/selinux/spacewalk-selinux/spacewalk.fc @@ -15,3 +15,4 @@ /var/cache/rhn/satsync(/.*)? gen_context(system_u:object_r:var_t,s0)
/usr/bin/rhn-sudo-ssl-tool gen_context(system_u:object_r:httpd_unconfined_script_exec_t,s0) +/usr/bin/rhn-sudo-load-ssl-cert gen_context(system_u:object_r:httpd_unconfined_script_exec_t,s0)
commit daf056a14b59f58a73f54b03e6d4a7954b8854ca Author: Jan Pazdziora jpazdziora@redhat.com Date: Wed Mar 25 10:23:38 2009 +0100
491687 - call wrapper around sudo /usr/bin/rhn-load-ssl-cert.pl, to be able to change SELinux domain.
diff --git a/web/modules/rhn/RHN/ProxyInstall.pm b/web/modules/rhn/RHN/ProxyInstall.pm index d06a514..4079add 100644 --- a/web/modules/rhn/RHN/ProxyInstall.pm +++ b/web/modules/rhn/RHN/ProxyInstall.pm @@ -117,7 +117,7 @@ sub generate_ssl_cert { PXT::Utils->untaint($opt); }
- my $command = '/usr/bin/sudo /usr/bin/rhn-load-ssl-cert.pl ' . join(' ', @opts); + my $command = '/usr/bin/rhn-sudo-load-ssl-cert ' . join(' ', @opts);
my ($ca_chain, $ca_rpm) = `$command`;
commit ba393642f4dd97cf31341179c78c3f7c979d5991 Author: Jan Pazdziora jpazdziora@redhat.com Date: Wed Mar 25 10:23:08 2009 +0100
491687 - need wrapper around sudo, to change SELinux domain before calling sudo.
diff --git a/spacewalk/admin/Makefile.admin b/spacewalk/admin/Makefile.admin index b02915d..ff02224 100644 --- a/spacewalk/admin/Makefile.admin +++ b/spacewalk/admin/Makefile.admin @@ -37,6 +37,7 @@ PERL_SCRIPTS = rhn-config-satellite.pl \ rhn-populate-database.pl \ rhn-generate-pem.pl \ rhn-load-ssl-cert.pl \ + rhn-sudo-load-ssl-cert \ validate-sat-cert.pl
SBIN_SCRIPTS = rhn-sat-restart-silent rhn-satellite diff --git a/spacewalk/admin/rhn-sudo-load-ssl-cert b/spacewalk/admin/rhn-sudo-load-ssl-cert new file mode 100755 index 0000000..5d6f292 --- /dev/null +++ b/spacewalk/admin/rhn-sudo-load-ssl-cert @@ -0,0 +1,4 @@ +#!/bin/bash + +/usr/bin/sudo /usr/bin/rhn-load-ssl-cert.pl "$@" + diff --git a/spacewalk/admin/spacewalk-admin.spec b/spacewalk/admin/spacewalk-admin.spec index c52beaf..13a7866 100644 --- a/spacewalk/admin/spacewalk-admin.spec +++ b/spacewalk/admin/spacewalk-admin.spec @@ -49,6 +49,7 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/rhn-config-tnsnames.pl %{_bindir}/rhn-populate-database.pl %{_bindir}/rhn-generate-pem.pl +%{_bindir}/rhn-sudo-load-ssl-cert %{_bindir}/rhn-load-ssl-cert.pl %{_bindir}/rhn-deploy-ca-cert.pl %{_bindir}/rhn-install-ssl-cert.pl
commit fbecb755d385feac8bfe934d9790b5f10978e2b9 Author: Jan Pazdziora jpazdziora@redhat.com Date: Tue Mar 24 16:56:00 2009 +0100
491687 - label the /usr/bin/rhn-sudo-ssl-tool wrapper with httpd_unconfined_script_exec_t.
diff --git a/selinux/spacewalk-selinux/spacewalk-selinux.spec b/selinux/spacewalk-selinux/spacewalk-selinux.spec index df4ff6c..0eb0c7b 100644 --- a/selinux/spacewalk-selinux/spacewalk-selinux.spec +++ b/selinux/spacewalk-selinux/spacewalk-selinux.spec @@ -34,6 +34,7 @@ Requires: spacewalk-config Requires: spacewalk-admin Requires: spacewalk-backend Requires: spacewalk-backend-server +Requires: spacewalk-certs-tools Requires: oracle-instantclient-selinux
%description @@ -91,7 +92,7 @@ for selinuxvariant in %{selinux_variants}
/usr/sbin/semanage port -a -t cobbler_port_t -p tcp 25152 || :
-/sbin/restorecon -rvvi /etc/rhn/satellite-httpd/conf/satidmap.pl %{_sbindir}/rhn-sat-restart-silent /var/log/rhn /var/cache/rhn +/sbin/restorecon -rvvi /etc/rhn/satellite-httpd/conf/satidmap.pl %{_sbindir}/rhn-sat-restart-silent /var/log/rhn /var/cache/rhn %{_bindir}/rhn-sudo-ssl-tool
/usr/sbin/setsebool -P httpd_enable_cgi 1 /usr/sbin/setsebool -P httpd_can_network_connect 1 @@ -107,7 +108,7 @@ if [ $1 -eq 0 ]; then /usr/sbin/semanage port -d -t cobbler_port_t -p tcp 25152 || : fi
-/sbin/restorecon -rvvi /etc/rhn/satellite-httpd/conf/satidmap.pl %{_sbindir}/rhn-sat-restart-silent /var/log/rhn /var/cache/rhn +/sbin/restorecon -rvvi /etc/rhn/satellite-httpd/conf/satidmap.pl %{_sbindir}/rhn-sat-restart-silent /var/log/rhn /var/cache/rhn %{_bindir}/rhn-sudo-ssl-tool
%files %defattr(-,root,root,0755) diff --git a/selinux/spacewalk-selinux/spacewalk.fc b/selinux/spacewalk-selinux/spacewalk.fc index 81c3730..785fbaa 100644 --- a/selinux/spacewalk-selinux/spacewalk.fc +++ b/selinux/spacewalk-selinux/spacewalk.fc @@ -13,3 +13,5 @@
/var/cache/rhn(/.*)? gen_context(system_u:object_r:spacewalk_cache_t,s0) /var/cache/rhn/satsync(/.*)? gen_context(system_u:object_r:var_t,s0) + +/usr/bin/rhn-sudo-ssl-tool gen_context(system_u:object_r:httpd_unconfined_script_exec_t,s0)
commit de07027905e47a83b25a8c9f2667452ccbbd56c2 Author: Jan Pazdziora jpazdziora@redhat.com Date: Tue Mar 24 16:52:22 2009 +0100
491687 - call wrapper around sudo /usr/bin/rhn-ssl-tool, to be able to change SELinux domain.
diff --git a/web/modules/rhn/RHN/SatInstall.pm b/web/modules/rhn/RHN/SatInstall.pm index 776334b..d2885fe 100644 --- a/web/modules/rhn/RHN/SatInstall.pm +++ b/web/modules/rhn/RHN/SatInstall.pm @@ -241,7 +241,7 @@ sub generate_ca_cert { push @opts, qq(--$name=$params{$name}); }
- my @command = ('/usr/bin/sudo', '/usr/bin/rhn-ssl-tool', @opts); + my @command = ('/usr/bin/rhn-sudo-ssl-tool', @opts);
my $ret = system(@command);
@@ -278,7 +278,7 @@ sub generate_server_cert { push @opts, qq(--$name=$params{$name}); }
- my @command = ('/usr/bin/sudo', '/usr/bin/rhn-ssl-tool', @opts, '-q'); + my @command = ('/usr/bin/rhn-sudo-ssl-tool', @opts, '-q');
my $ret = system(@command);
commit 507b3d7245508195c207a18414d8e0c644cf9989 Author: Jan Pazdziora jpazdziora@redhat.com Date: Tue Mar 24 16:37:38 2009 +0100
491687 - need wrapper around sudo, to change SELinux domain before calling sudo.
diff --git a/spacewalk/certs-tools/Makefile.certs b/spacewalk/certs-tools/Makefile.certs index 2d0c5c9..59299d2 100644 --- a/spacewalk/certs-tools/Makefile.certs +++ b/spacewalk/certs-tools/Makefile.certs @@ -38,7 +38,7 @@ EXTRA_DIRS = $(MANDIR)/man$(MANSECT) $(BINDIR) $(PUB_BOOTSTRAP_DIR) # now include some Macros include Makefile.defs
-BINFILES = rhn-ssl-tool rhn-bootstrap +BINFILES = rhn-sudo-ssl-tool rhn-ssl-tool rhn-bootstrap
install :: $(addsuffix .inst,$(BINFILES)) $(MANS) $(PREFIX)/$(MANDIR) $(INSTALL_DATA) $(MANS) $(PREFIX)$(MANDIR)/man$(MANSECT) diff --git a/spacewalk/certs-tools/rhn-sudo-ssl-tool b/spacewalk/certs-tools/rhn-sudo-ssl-tool new file mode 100755 index 0000000..abd3640 --- /dev/null +++ b/spacewalk/certs-tools/rhn-sudo-ssl-tool @@ -0,0 +1,4 @@ +#!/bin/bash + +/usr/bin/sudo /usr/bin/rhn-ssl-tool "$@" + diff --git a/spacewalk/certs-tools/spacewalk-certs-tools.spec b/spacewalk/certs-tools/spacewalk-certs-tools.spec index 878be33..d38880d 100644 --- a/spacewalk/certs-tools/spacewalk-certs-tools.spec +++ b/spacewalk/certs-tools/spacewalk-certs-tools.spec @@ -43,6 +43,7 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{rhnroot}/certs/*.py* %attr(755,root,root) %{rhnroot}/certs/sign.sh %attr(755,root,root) %{rhnroot}/certs/gen-rpm.sh +%attr(755,root,root) %{_bindir}/rhn-sudo-ssl-tool %attr(755,root,root) %{_bindir}/rhn-ssl-tool %attr(755,root,root) %{_bindir}/rhn-bootstrap %doc %{_mandir}/man1/rhn-*.1*
commit 507657f5d8b7095e440bd5bbeec45924b56bdbda Author: Partha Aji paji@redhat.com Date: Tue Mar 24 19:28:31 2009 -0400
489395 - Had to reorder the statements in executeWriteMode to get hibernate to correctly interact with writemode queries....
Signed-off-by: Partha Aji paji@redhat.com
diff --git a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java index da2eeea..53eae72 100644 --- a/java/code/src/com/redhat/rhn/manager/system/SystemManager.java +++ b/java/code/src/com/redhat/rhn/manager/system/SystemManager.java @@ -1278,9 +1278,6 @@ public class SystemManager extends BaseManager { Map params = new HashMap(); params.put("server_id", sid);
- // freakin hibernate can't do a simple bulk delete statement unless - // it uses HQL! - ServerFactory.deproxify(server); executeWriteMode("Monitoring_queries", "delete_probe_states_from_server", params); executeWriteMode("Monitoring_queries", @@ -1289,6 +1286,11 @@ public class SystemManager extends BaseManager { "delete_probes_from_server", params); executeWriteMode("Monitoring_queries", "delete_sat_cluster_for_server", params); + + // freakin hibernate can't do a simple bulk delete statement unless + // it uses HQL! + server = (Server) HibernateFactory.reload(server); + ServerFactory.deproxify(server); }
private static int executeWriteMode(String catalog, String mode, Map params) {
commit 0440a3a6962251aae09121fc64053e5e84e8ea61 Author: Mike McCune mmccune@gmail.com Date: Tue Mar 24 16:35:27 2009 -0700
250134 - fixing length checking in validator. 491186 - fixing unit test to reflect code changes
diff --git a/java/code/src/com/redhat/rhn/common/validator/StringConstraint.java b/java/code/src/com/redhat/rhn/common/validator/StringConstraint.java index 56c2719..4ee4cdc 100644 --- a/java/code/src/com/redhat/rhn/common/validator/StringConstraint.java +++ b/java/code/src/com/redhat/rhn/common/validator/StringConstraint.java @@ -56,7 +56,7 @@ public class StringConstraint extends RequiredIfConstraint {
private boolean lengthLessThan(String str, Number length) { try { - return str.getBytes("UTF8").length < length.intValue(); + return str.getBytes("UTF8").length <= length.intValue(); } catch (UnsupportedEncodingException use) { log.warn("Couldn;t convert to UTF8-> [" + str + "]"); @@ -89,7 +89,8 @@ public class StringConstraint extends RequiredIfConstraint { if (hasMaxLength()) { log.debug("HasMaxlength .."); if (!(lengthLessThan(strValue, getMaxLength()))) { - log.debug("Above max length: " + strValue.length() + " data: " + strValue); + log.debug("Above max length: " + strValue.length() + " data: " + strValue + + "max length: " + getMaxLength()); Object[] args = new Object[2]; args[0] = localizedIdentifier; args[1] = getMaxLength(); diff --git a/java/code/src/com/redhat/rhn/common/validator/test/TestObject.java b/java/code/src/com/redhat/rhn/common/validator/test/TestObject.java index 9f823bb..f325edb 100644 --- a/java/code/src/com/redhat/rhn/common/validator/test/TestObject.java +++ b/java/code/src/com/redhat/rhn/common/validator/test/TestObject.java @@ -34,6 +34,23 @@ public class TestObject { private String asciiString; private String usernameString; private String posixString; + private String twoCharField; + + + /** + * @return the twoCharField + */ + public String getTwoCharField() { + return twoCharField; + } + + + /** + * @param twoCharFieldIn the twoCharField to set + */ + public void setTwoCharField(String twoCharFieldIn) { + this.twoCharField = twoCharFieldIn; + }
public String getSecondStringField() { return secondStringField; diff --git a/java/code/src/com/redhat/rhn/common/validator/test/TestObject.xsd b/java/code/src/com/redhat/rhn/common/validator/test/TestObject.xsd index 1e3649f..6212d28 100644 --- a/java/code/src/com/redhat/rhn/common/validator/test/TestObject.xsd +++ b/java/code/src/com/redhat/rhn/common/validator/test/TestObject.xsd @@ -15,6 +15,13 @@ </simpleType> </attribute>
+ <attribute name="twoCharField"> + <simpleType baseType="string"> + <maxLength value="2"/> + <isRequired value="false"/> + </simpleType> + </attribute> + <attribute name="dateField"> <simpleType baseType="date"/> </attribute> @@ -75,5 +82,7 @@ <posix/> </simpleType> </attribute> + + </schema> diff --git a/java/code/src/com/redhat/rhn/common/validator/test/ValidatorTest.java b/java/code/src/com/redhat/rhn/common/validator/test/ValidatorTest.java index fa80d62..043eeec 100644 --- a/java/code/src/com/redhat/rhn/common/validator/test/ValidatorTest.java +++ b/java/code/src/com/redhat/rhn/common/validator/test/ValidatorTest.java @@ -79,6 +79,8 @@ public class ValidatorTest extends TestCase { assertNotNull(validator.isValid("stringField", to)); to.setStringField(" "); assertNotNull(validator.isValid("stringField", to)); + to.setTwoCharField("it"); + assertNull(validator.isValid("twoCharField", to)); }
public void testASCIIString() throws Exception { diff --git a/java/code/src/com/redhat/rhn/frontend/security/test/PxtAuthenticationServiceTest.java b/java/code/src/com/redhat/rhn/frontend/security/test/PxtAuthenticationServiceTest.java index 2b96286..05f110c 100644 --- a/java/code/src/com/redhat/rhn/frontend/security/test/PxtAuthenticationServiceTest.java +++ b/java/code/src/com/redhat/rhn/frontend/security/test/PxtAuthenticationServiceTest.java @@ -108,8 +108,7 @@ public class PxtAuthenticationServiceTest extends AuthenticationServiceTest { isA(HttpServletRequest.class)).will(returnValue(false));
mockRequest.stubs().method("getRequestURI").will(returnValue("/rhn/Login")); - - runValidateSucceedsTest(); + assertTrue(service.validate(getRequest(), getResponse())); }
public final void testValidateSucceeds() {
commit fc7cc04acf54e490de3242807e934b34db9aa504 Author: Mike McCune mmccune@gmail.com Date: Tue Mar 24 09:10:02 2009 -0700
474774 - updating deps for jfree
diff --git a/java/ivy.xml b/java/ivy.xml index 7d8c9fc..f0d764d 100644 --- a/java/ivy.xml +++ b/java/ivy.xml @@ -34,9 +34,9 @@ <dependency org="redhat" name="jaf" rev="1.0.2" /> <dependency org="redhat" name="jasper5-compiler" rev="5.0.19" /> <dependency org="redhat" name="jasper5-runtime" rev="5.0.19" /> - <dependency org="redhat" name="jcommon" rev="0.9.7" /> + <dependency org="redhat" name="jcommon" rev="1.0.12" /> <dependency org="redhat" name="jdom" rev="1.0" /> - <dependency org="redhat" name="jfreechart" rev="0.9.21" /> + <dependency org="redhat" name="jfreechart" rev="1.0.9" /> <dependency org="redhat" name="jmock" rev="1.2.0" /> <dependency org="redhat" name="jmock-cglib" rev="1.2.0" /> <dependency org="redhat" name="jpam" rev="0.4" />
commit 294f2d237e1e549548b27d69b8411cebcb0a93a9 Author: Mike McCune mmccune@gmail.com Date: Mon Mar 23 14:27:14 2009 -0700
484659 - switching to proper case for variables
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java b/java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java index 0b0854c..5afbf75 100644 --- a/java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java +++ b/java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java @@ -43,8 +43,8 @@ import redstone.xmlrpc.XmlRpcFault; public class CobblerSyncTask extends SingleThreadedTestableTask {
private static final AtomicLong LAST_UPDATED = new AtomicLong(); - private long ERROR_COUNT; - private long DISTRO_WARN_COUNT; + private long errorCount; + private long distroWarnCount;
/** * Used to log stats in the RHNDAEMONSTATE table @@ -57,8 +57,8 @@ public class CobblerSyncTask extends SingleThreadedTestableTask { * Default constructor */ public CobblerSyncTask() { - ERROR_COUNT = 0; - DISTRO_WARN_COUNT = 0; + errorCount = 0; + distroWarnCount = 0; }
/** @@ -82,9 +82,9 @@ public class CobblerSyncTask extends SingleThreadedTestableTask {
CobblerDistroSyncCommand distSync = new CobblerDistroSyncCommand(); ValidatorError ve = distSync.syncNullDistros(); - if (ve != null && DISTRO_WARN_COUNT < 1) { + if (ve != null && distroWarnCount < 1) { TaskHelper.sendErrorEmail(log, ve.getMessage()); - DISTRO_WARN_COUNT++; + distroWarnCount++; }
@@ -118,8 +118,8 @@ public class CobblerSyncTask extends SingleThreadedTestableTask { re.getMessage(), re); // Only throw up one error. Otherwise if say cobblerd is shutoff you can // possibly generate 1 stacktrace email per minute which is quite spammy. - if (ERROR_COUNT < 1) { - ERROR_COUNT++; + if (errorCount < 1) { + errorCount++; log.error("re-throwing exception since we havent yet."); throw re; }
commit 867dd2b4c5cdf9043a3d5e87fd7d802fe45bbfd6 Author: Dennis Gilmore dennis@ausil.us Date: Tue Mar 24 16:15:56 2009 -0500
Automatic commit of package [spacewalk-setup] release [0.5.24-1].
diff --git a/rel-eng/packages/spacewalk-setup b/rel-eng/packages/spacewalk-setup index fce99db..1176ba9 100644 --- a/rel-eng/packages/spacewalk-setup +++ b/rel-eng/packages/spacewalk-setup @@ -1 +1 @@ -0.5.23-1 spacewalk/setup/ +0.5.24-1 spacewalk/setup/ diff --git a/spacewalk/setup/spacewalk-setup.spec b/spacewalk/setup/spacewalk-setup.spec index ce2fed6..9f52866 100644 --- a/spacewalk/setup/spacewalk-setup.spec +++ b/spacewalk/setup/spacewalk-setup.spec @@ -1,5 +1,5 @@ Name: spacewalk-setup -Version: 0.5.23 +Version: 0.5.24 Release: 1%{?dist} Summary: Initial setup tools for Red Hat Spacewalk
@@ -94,7 +94,7 @@ rm -rf %{buildroot} %dir %{_sysconfdir}/pki/spacewalk/jabberd
%changelog -* Tue Mar 24 2009 Dennis Gilmore dennis@ausil.us +* Tue Mar 24 2009 Dennis Gilmore dennis@ausil.us 0.5.24-1 - write jabberd server.pem to /etc/pki/spacewalk/jabberd
* Wed Mar 18 2009 Mike McCune mmccune@gmail.com 0.5.23-1
commit 8c705dcac69fbf854c99b20632b7dc4b4eb0e14e Author: Dennis Gilmore dennis@ausil.us Date: Tue Mar 24 16:13:07 2009 -0500
Automatic commit of package [spacewalk-config] release [0.5.8-1].
diff --git a/rel-eng/packages/spacewalk-config b/rel-eng/packages/spacewalk-config index 7f03d09..a2e7042 100644 --- a/rel-eng/packages/spacewalk-config +++ b/rel-eng/packages/spacewalk-config @@ -1 +1 @@ -0.5.7-1 spacewalk/config/ +0.5.8-1 spacewalk/config/ diff --git a/spacewalk/config/spacewalk-config.spec b/spacewalk/config/spacewalk-config.spec index 1477ae7..4729849 100644 --- a/spacewalk/config/spacewalk-config.spec +++ b/spacewalk/config/spacewalk-config.spec @@ -2,7 +2,7 @@
Name: spacewalk-config Summary: Spacewalk Configuration -Version: 0.5.7 +Version: 0.5.8 Release: 1%{?dist} URL: http://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -115,7 +115,7 @@ fi
%changelog -* Tue Mar 24 2009 Dennis Gilmore dennis@ausil.us +* Tue Mar 24 2009 Dennis Gilmore dennis@ausil.us 0.5.8-1 - Requires(pre) jabberd so we can set the password in %%post
* Fri Mar 20 2009 Miroslav Suchy msuchy@redhat.com 0.5.7-1
commit 0c7b8d77390a2505395feca4f10f26b4bc7f3fdf Author: Dennis Gilmore dennis@ausil.us Date: Tue Mar 24 15:23:41 2009 -0500
remove unneeded pushd fix up rpm macros add missing _
diff --git a/spacewalk/config/spacewalk-config.spec b/spacewalk/config/spacewalk-config.spec index 5255762..1477ae7 100644 --- a/spacewalk/config/spacewalk-config.spec +++ b/spacewalk/config/spacewalk-config.spec @@ -101,11 +101,10 @@ if [ "$1" -eq "1" ]; then #replace default passwords, yes its kinda hackish export NEWPASS=$( dd if=/dev/urandom bs=20 count=1 2>/dev/null \ | sha1sum | awk '{print $1}' ) - pushd %{sysconfdir}/jabberd/ - %{__sed} -i -f- %{sysconfdir}/jabberd/*.xml <<END + %{__sed} -i -f- %{_sysconfdir}/jabberd/*.xml <<END s,<secret>.*</secret>,<secret>$NEWPASS</secret>,g END - %{__sed} -i -f- %{sysconfdir}/jabberd/*.xml <<END + %{__sed} -i -f- %{_sysconfdir}/jabberd/*.xml <<END s,<pass>.*</pass>,<pass>$NEWPASS</pass>,g END %{__sed} -i -f- %{_sysconfdir}/sysconfig/rhn-satellite-prep/etc/jabberd/*.xml <<END
commit f3c277f05b0bd36428da319652cf6f1f4055bc9c Author: Dennis Gilmore dennis@ausil.us Date: Tue Mar 24 15:19:03 2009 -0500
Requires(pre) jabberd we need to default passwords in %post on new installs. they need to be consistent across all jabber configs
diff --git a/spacewalk/config/spacewalk-config.spec b/spacewalk/config/spacewalk-config.spec index 115e4a9..5255762 100644 --- a/spacewalk/config/spacewalk-config.spec +++ b/spacewalk/config/spacewalk-config.spec @@ -18,6 +18,8 @@ Requires(post): chkconfig Requires(preun): chkconfig # This is for /sbin/service Requires(preun): initscripts +# this is so we can set the password consistently across all jabberd configs +Requires(pre): jabberd
%define prepdir %{_sysconfdir}/sysconfig/rhn-satellite-prep
@@ -95,7 +97,28 @@ export ORACLE_HOME=/opt/oracle export NLS_LANG=english.AL32UTF8 EOF
+if [ "$1" -eq "1" ]; then + #replace default passwords, yes its kinda hackish + export NEWPASS=$( dd if=/dev/urandom bs=20 count=1 2>/dev/null \ + | sha1sum | awk '{print $1}' ) + pushd %{sysconfdir}/jabberd/ + %{__sed} -i -f- %{sysconfdir}/jabberd/*.xml <<END +s,<secret>.*</secret>,<secret>$NEWPASS</secret>,g +END + %{__sed} -i -f- %{sysconfdir}/jabberd/*.xml <<END +s,<pass>.*</pass>,<pass>$NEWPASS</pass>,g +END + %{__sed} -i -f- %{_sysconfdir}/sysconfig/rhn-satellite-prep/etc/jabberd/*.xml <<END +s,<pass>@@pass@@</pass>,<pass>$NEWPASS</pass>,g +END + +fi + + %changelog +* Tue Mar 24 2009 Dennis Gilmore dennis@ausil.us +- Requires(pre) jabberd so we can set the password in %%post + * Fri Mar 20 2009 Miroslav Suchy msuchy@redhat.com 0.5.7-1 - edit the spec for Fedora
commit 7aa107431836e3451c865700ad3225b56226dfcb Author: Dennis Gilmore dennis@ausil.us Date: Tue Mar 24 15:01:04 2009 -0500
do not hardcode a default password in the jabber xml files. we will generate one on the fly in %%post in the rpm. this matches jabberd's behaviour and will make sure all configs have consitent passwords and jabberd will run out of the box. each installation will have different passwords.
diff --git a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml index ca666af..09eff11 100644 --- a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml +++ b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml @@ -15,7 +15,7 @@
<!-- Username/password to authenticate as --> <user>jabberd</user> <!-- default: jabberd --> - <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> <!-- default: secret --> + <pass>@@pass@@</pass> <!-- default: secret -->
<!-- File containing an SSL certificate and private key to use when setting up an encrypted channel with the router. From @@ -121,7 +121,7 @@ still be useful to allow clients to change their password. If you want this, add this attribute when you disable registration. --> - <id realm='' require-starttls='true' pemfile='/etc/pki/spacewalk/jabberd/server.pem'>@@jabberDOThostname@@</id> + <id realm='' register-enable='true' require-starttls='false' pemfile='/etc/pki/spacewalk/jabberd/server.pem'>@@jabberDOThostname@@</id> <!-- or <id realm='company.int' pemfile='/etc/pki/spacewalk/jabberd/server.pem' @@ -321,7 +321,7 @@ <path>/usr/lib/jabberd</path>
<!-- Backend module to use --> - <module>pam</module> + <module>sqlite</module>
<!-- Available authentication mechanisms --> <mechanisms> diff --git a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml index 9cd2ab1..1a05ae3 100644 --- a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml +++ b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml @@ -16,7 +16,7 @@
<!-- Username/password to authenticate as --> <user>jabberd</user> <!-- default: jabberd --> - <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> <!-- default: secret --> + <pass>@@pass@@</pass> <!-- default: secret -->
<!-- The router will only allow one component to be the default route (ie the component that receives packets destined for diff --git a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml index 4354301..5959539 100644 --- a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml +++ b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml @@ -17,7 +17,7 @@
<!-- Username/password to authenticate as --> <user>jabberd</user> <!-- default: jabberd --> - <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> <!-- default: secret --> + <pass>@@pass@@</pass> <!-- default: secret -->
<!-- File containing an SSL certificate and private key to use when setting up an encrypted channel with the router. From @@ -71,8 +71,8 @@ <!-- Dynamic storage modules path --> <path>/usr/lib/jabberd</path>
- <!-- By default, we use the MySQL driver for all storage --> - <driver>db</driver> + <!-- By default, we use the sqlite driver for all storage --> + <driver>sqlite</driver>
<!-- Its also possible to explicitly list alternate drivers for specific data types. --> @@ -109,7 +109,7 @@
<!-- Database username and password --> <user>jabberd2</user> - <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> + <pass>@@pass@@</pass>
<!-- Transacation support. If this is commented out, transactions will be disabled. This might make database accesses faster, @@ -140,7 +140,7 @@
<!-- Database username and password --> <user>jabberd2</user> - <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> + <pass>@@pass@@</pass>
<!-- Transacation support. If this is commented out, transactions will be disabled. This might make database accesses faster, @@ -172,7 +172,7 @@
<!-- Database username and password --> <user>jabberd2</user> - <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> + <pass>@@pass@@</pass> </oracle>
<!-- SQLite driver configuration -->
commit 4c6745758a93ae519cc3857c67703a313bf8140e Author: Dennis Gilmore dennis@ausil.us Date: Tue Mar 24 13:11:42 2009 -0500
add missing pki for paths for jabberd ssl cert
diff --git a/spacewalk/setup/spacewalk-setup.spec b/spacewalk/setup/spacewalk-setup.spec index d9e71d9..ce2fed6 100644 --- a/spacewalk/setup/spacewalk-setup.spec +++ b/spacewalk/setup/spacewalk-setup.spec @@ -65,7 +65,7 @@ install -d -m 755 %{buildroot}/%{_datadir}/spacewalk/setup/defaults.d/ install -m 0644 share/defaults.d/defaults.conf %{buildroot}/%{_datadir}/spacewalk/setup/defaults.d/
# jabberd ssl cert location -install -d -m 755 %{buildroot}/%{_sysconfdir}/spacewalk/jabberd +install -d -m 755 %{buildroot}/%{_sysconfdir}/pki/spacewalk/jabberd
# Oracle specific stuff, possible candidate for sub-package down the road: install -d -m 755 %{buildroot}/%{_datadir}/spacewalk/setup/oracle/ @@ -90,8 +90,8 @@ rm -rf %{buildroot} %{_bindir}/cobbler-setup %{_mandir}/man[13]/*.[13]* %{_datadir}/spacewalk/* -%dir %{_sysconfdir}/spacewalk -%dir %{_sysconfdir}/spacewalk/jabberd +%dir %{_sysconfdir}/pki/spacewalk +%dir %{_sysconfdir}/pki/spacewalk/jabberd
%changelog * Tue Mar 24 2009 Dennis Gilmore dennis@ausil.us
commit 4a285c8c76a4b8e1960306c8a4c6cb7bd2697904 Author: Dennis Gilmore dennis@ausil.us Date: Tue Mar 24 13:07:14 2009 -0500
make directory for jabberd ssl cert
diff --git a/spacewalk/setup/spacewalk-setup.spec b/spacewalk/setup/spacewalk-setup.spec index fe71e29..d9e71d9 100644 --- a/spacewalk/setup/spacewalk-setup.spec +++ b/spacewalk/setup/spacewalk-setup.spec @@ -64,6 +64,9 @@ install -m 0644 share/ssl.conf.5 %{buildroot}/%{_datadir}/spacewalk/setup/ install -d -m 755 %{buildroot}/%{_datadir}/spacewalk/setup/defaults.d/ install -m 0644 share/defaults.d/defaults.conf %{buildroot}/%{_datadir}/spacewalk/setup/defaults.d/
+# jabberd ssl cert location +install -d -m 755 %{buildroot}/%{_sysconfdir}/spacewalk/jabberd + # Oracle specific stuff, possible candidate for sub-package down the road: install -d -m 755 %{buildroot}/%{_datadir}/spacewalk/setup/oracle/ install -m 0755 share/oracle/install-db.sh %{buildroot}/%{_datadir}/spacewalk/setup/oracle @@ -87,9 +90,13 @@ rm -rf %{buildroot} %{_bindir}/cobbler-setup %{_mandir}/man[13]/*.[13]* %{_datadir}/spacewalk/* - +%dir %{_sysconfdir}/spacewalk +%dir %{_sysconfdir}/spacewalk/jabberd
%changelog +* Tue Mar 24 2009 Dennis Gilmore dennis@ausil.us +- write jabberd server.pem to /etc/pki/spacewalk/jabberd + * Wed Mar 18 2009 Mike McCune mmccune@gmail.com 0.5.23-1 - 486186 - Update spacewalk spec files to require cobbler >= 1.4.3
commit be9ecccc30a57e2ac099f8ee9ceaec70f508b42d Author: Dennis Gilmore dennis@ausil.us Date: Tue Mar 24 12:38:09 2009 -0500
update jabberd configs for 2.2 write spacewalk jabber to /etc/pki/spacewalk/jabberd
diff --git a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml index d47a762..ca666af 100644 --- a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml +++ b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/c2s.xml @@ -3,10 +3,9 @@ <!-- Our ID on the network (default: c2s) --> <id>c2s</id>
- <!-- The process ID file. comment this out if you don't need to know - to know the process ID from outside the process (eg for control - scripts) --> - <pidfile>/var/run/jabberd/jabberd-c2s.pid</pidfile> + <!-- The process ID file. Comment this out if you don't need to know + the process ID from outside the process (eg for control scripts) --> + <pidfile>/var/lib/jabberd/pid/c2s.pid</pidfile>
<!-- Router connection configuration --> <router> @@ -16,14 +15,19 @@
<!-- Username/password to authenticate as --> <user>jabberd</user> <!-- default: jabberd --> - <pass>secret</pass> <!-- default: secret --> - - <!-- File containing a SSL certificate and private key to use when - setting up an encrypted channel with the router. If this is - commented out, or the file can't be read, no attempt will be - made to establish an encrypted channel with the router. --> + <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> <!-- default: secret --> + + <!-- File containing an SSL certificate and private key to use when + setting up an encrypted channel with the router. From + SSL_CTX_use_certificate_chain_file(3): "The certificates must be + in PEM format and must be sorted starting with the subject's + certificate (actual client or server certificate), followed + by intermediate CA certificates if applicable, and ending + at the highest level (root) CA" (the latter one being optional). + If this is commented out, or the file can't be read, no attempt + will be made to establish an encrypted channel with the router. --> <!-- - <pemfile>/etc/jabberd/server.pem</pemfile> + <pemfile>/etc/pki/spacewalk/jabberd/server.pem</pemfile> -->
<!-- Router connection retry --> @@ -56,7 +60,7 @@
<!-- If logging to file, this is the filename of the logfile --> <!-- - <file>/var/log/jabberd/c2s.log</file> + <file>/var/lib/jabberd/log/c2s.log</file> --> </log>
@@ -66,16 +70,70 @@ ID (host) that the session manager thinks it is. You can specify more than one to support virtual hosts, as long as you have additional session manager instances on the network to - handle those hosts. The realm attribute specifies the auth/reg - or SASL authentication realm for the host. If the attribute is - not specified, the realm will be selected by the SASL - mechanism, or will be the same as the ID itself. Be aware that - users are assigned to a realm, not a host, so two hosts in the - same realm will have the same users. - If no realm is specified, it will be set to be the same as the - ID. --> - <id>@@jabberDOThostname@@</id> - <!-- <id realm='company'>localhost</id> --> + handle those hosts. + + You may leave the content of the <id/> empty to setup default + virtual host setup, that will be used for all present but not + configured otherwise SM domains. + + realm + attribute specifies the auth/reg or SASL authentication realm + for the host. If the attribute is not specified, the realm will + be selected by the SASL mechanism, or will be the same as the ID + itself. Be aware that users are assigned to a realm, not a host, + so two hosts in the same realm will have the same users. If no + realm is specified, it will be set to be the same as the ID. + If empty "" realm is specified, the PAM backend wil authenticate + using plain usernames, not JIDs. + + pemfile + attribute specifies the file containing a SSL certificate and + private key for client connections. If this is non existant, + clients will not be offered the STARTTLS stream extension + From SSL_CTX_use_certificate_chain_file(3): + "The certificates must be in PEM format and must be sorted + starting with the subject's certificate (actual client or server + certificate), followed by intermediate CA certificates if + applicable, and ending at the highest level (root) CA" + (the latter one being optional). + + verify-mode + SSL verify mode - see SSL_CTX_set_verify(3), mode parameter + + require-starttls + If this is enabled, clients must do STARTTLS + before they can authenticate. Until the stream is encrypted, + all packets will be dropped. + + register-enable + Remove this attribute to disable account registrations. + + instructions + Human-readable instructions to be returned to client when + registration is requested. + + register-oob + URL to be attached as an alternative, out-of-band registration + method. Usually web-based http:// URL. + + password-change + Password change only. When registration is disabled, it may + still be useful to allow clients to change their password. If + you want this, add this attribute when you disable registration. + --> + <id realm='' require-starttls='true' pemfile='/etc/pki/spacewalk/jabberd/server.pem'>@@jabberDOThostname@@</id> + <!-- or + <id realm='company.int' + pemfile='/etc/pki/spacewalk/jabberd/server.pem' + verify-mode='7' + require-starttls='true' + register-enable='true' + instructions='Enter a username and password to register with this server.' + register-oob='http://example.org/register' + password-change='true' + >example.net</id> --> + <!-- or the default host + <id password-change='true' /> -->
<!-- IP address to bind to (default: 0.0.0.0) --> <ip>0.0.0.0</ip> @@ -84,18 +142,6 @@ server (default: 5222) --> <port>5222</port>
- <!-- File containing a SSL certificate and private key for client - connections. If this is commented out, clients will not be - offered the STARTTLS stream extension --> - <pemfile>/etc/jabberd/server.pem</pemfile> - - <!-- Require STARTTLS. If this is enabled, clients must do STARTTLS - before they can authenticate. Until the stream is encrypted, - all packets will be dropped. --> - <!-- - <require-starttls/> - --> - <!-- Older versions of jabberd support encrypted client connections via an additional listening socket on port 5223. If you want this (required to allow pre-STARTTLS clients to do SSL), @@ -103,15 +149,53 @@ <!-- <ssl-port>5223</ssl-port> --> + + <!-- File containing an SSL certificate and private key for client + connections. From SSL_CTX_use_certificate_chain_file(3): + "The certificates must be in PEM format and must be sorted + starting with the subject's certificate (actual client or server + certificate), followed by intermediate CA certificates if + applicable, and ending at the highest level (root) CA" + (the latter one being optional). + + Note: This certificate is ONLY used for old style SSL + connections on port 5223 (pre-STARTTLS). If you want to + use STARTTLS over the standard XMPP port 5222 then you + MUST specify the pemfile in the 'id' tag above. --> + <!-- + <pemfile>/etc/pki/spacewalk/jabberd/server.pem</pemfile> + --> + + <!-- SSL verify mode - see SSL_CTX_set_verify(3), mode parameter --> + <!-- + <verify-mode>7</verify-mode> + --> + + <!-- Forward incoming HTTP clients to a real HTTP server --> + <!-- + <httpforward>http://www.jabber.org/</httpforward> + --> </local>
<!-- Input/output settings --> <io> - <!-- Maximum number of file descriptors. Note that the number of - possible connections will be slightly less than this, because - c2s itself can use up five on its own, and auth/reg modules may - need a few also. If the supply of file descriptors is - exhausted, new incoming connections will be denied. + <!-- Maximum number of file descriptors. This value sets an upper + limit on the number of users who may be logged in to this + server at a given time. Each user consumers one file + descriptor. + + Note that the number of possible connections will be slightly + less than this, because c2s itself can use up five on its own, + and auth/reg modules may need a few also. If the supply of + file descriptors is exhausted, new incoming connections will + be denied. + + Also note that this value only affects how many file descriptors + jabberd is able to handle internally. You may also need to + tell your operating system to allow jabberd to use more file + descriptors. On Linux this can be done using ulimit -n or by + changing the value of /proc/sys/fd/file-max. + (default: 1024) --> <max_fds>1024</max_fds>
@@ -126,6 +210,15 @@ Default Y is 1, default Z is 5. set X to 0 to disable. --> <bytes>0</bytes>
+ <!-- Maximum number of stanzas per second - if more than X stanzas + are sent in Y seconds, connection is throttled for Z seconds. + The format is: + + <stanzas seconds='Y' throttle='Z'>X</stanzas> + + Default Y 1, default Z is 5. Set X to 0 to disable --> + <stanzas>1000</stanzas> + <!-- Maximum connects per second - if more than X connects are attempted from a single IP in Y seconds, that IP is throttled for Z seconds. The format is: @@ -134,8 +227,21 @@
Default Y is 5, default Z is 5. set X to 0 to disable. --> <connects>0</connects> + + <!-- Maximum stanza size - if more than given number of bytes + are read in one incoming stanza, the stream is closed + with policy-violation error. + + Set to 0 to disable. + Values less than 16384 might not work. --> + <stanzasize>65535</stanzasize> </limits>
+ <!-- Enable XEP-0138: Stream Compression --> + <!-- + <compression/> + --> + <!-- IP-based access controls. If a connection IP matches an allow rule, the connection will be accepted. If a connecting IP matches a deny rule, the connection will be refused. If the @@ -177,7 +283,7 @@ the following checks applied.
0 disables all checks. (default: 0) --> - <interval>60</interval> + <interval>0</interval>
<!-- Idle connection checks.
@@ -195,35 +301,27 @@ disconnected without us knowing about it.
0 disables keepalives. (default: 0) --> - <keepalive>60</keepalive> + <keepalive>0</keepalive>
</check>
</io>
+ <!-- Statistics --> + <stats> + <!-- file containing count of packets that went through --> + <!-- + <packet>/var/lib/jabberd/stats/c2s.packets</packet> + --> + </stats> + <!-- Authentication/registration database configuration --> <authreg> + <!-- Dynamic authreg modules path --> + <path>/usr/lib/jabberd</path> + <!-- Backend module to use --> - <module>db</module> - - <!-- Registration configuration --> - <register> - <!-- Account registration is enabled by default (provided the - auth/reg module in use supports it). Comment this out to - disable. --> - <enable/> - - <!-- Human-readable instructions to be returned to client when - registration is requested. --> - <instructions>Enter a username and password to register with this server.</instructions> - - <!-- Password change only. When registration is disabled, it may - still be useful to allow clients to change their password. If - you want this, uncomment this when you disable registration. --> - <!-- - <password/> - --> - </register> + <module>pam</module>
<!-- Available authentication mechanisms --> <mechanisms> @@ -232,14 +330,10 @@ Comment out any that you don't want to be offered to clients. Note that if the auth/reg module does not support one of these mechanisms, then it will not be offered regardless of - whether or not it is enabled here. - - Similarly, if <zerok/> is disabled, then zero-knowledge data - will not be created when a user is registered. --> + whether or not it is enabled here. --> <traditional> <plain/> <digest/> - <zerok/> </traditional>
<!-- SASL authentication mechanisms. Comment out any that you @@ -251,11 +345,29 @@ <digest-md5/> <!-- <anonymous/> + <gssapi/> --> </sasl>
</mechanisms>
+ <!-- Additional mechanisms that are also available when the + connection is encrypted. Ie. when START-TLS had been + negotiated, or user connected on SSL-wrapped port. --> + <ssl-mechanisms> + + <!-- it's advisable that you disable plain in the above + <mechanisms/> section --> + <traditional> + <plain/> + </traditional> + + <sasl> + <plain/> + </sasl> + + </ssl-mechanisms> + <!-- MySQL module configuration --> <mysql> <!-- Database server host and port --> @@ -267,11 +379,32 @@
<!-- Database username and password --> <user>jabberd2</user> - <pass>secret</pass> + <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> + + <!-- Passwords in DB may be stored in plain or hashed format --> + <!-- NOTE: If you are using hashed passwords, the only auth + method that will work is PLAIN. + Make sure that you disabled others in 'mechanisms' + sections of the config file. --> + <password_type> + <!-- only one may be enabled here --> + <plaintext/> + <!-- use crypt(3)ed passwords + <crypt/> + --> + </password_type> </mysql>
<!-- PostgreSQL module configuration --> <pgsql> + <!-- PostgreSQL connection info. + For the rest of the options see + http://www.postgresql.org/docs/8.0/interactive/libpq.html --> + <conninfo>dbname=jabberd2 user=jabberd2 password=secret</conninfo> + + <!-- Alternatively you may set connection settings separately. + These are used only in absence of 'conninfo' --> + <!-- Database server host and port --> <host>localhost</host> <port>5432</port> @@ -281,13 +414,41 @@
<!-- Database username and password --> <user>jabberd2</user> - <pass>secret</pass> + <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> </pgsql>
+ <!-- Oracle driver configuration --> + <oracle> + <!-- Database server host and port. --> + <host>localhost</host> + <port>1521</port> + + <!-- Database name --> + <dbname>jabberd2</dbname> + + <!-- Database username and password --> + <user>jabberd2</user> + <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> + </oracle> + + <!-- SQLite driver configuration --> + <sqlite> + <!-- Database name --> + <dbname>/var/lib/jabberd/db/sqlite.db</dbname> + + <!-- Transacation support. If this is commented out, transactions + will be disabled. This might make database accesses faster, + but data may be lost if jabberd crashes. --> + <transactions/> + + <!-- SQLite busy-timeout in milliseconds. --> + <busy-timeout>2000</busy-timeout> + </sqlite> + <!-- Berkeley DB module configuration --> <db> <!-- Directory to store database files under --> - <path>/var/lib/jabberd</path> + <path>/var/lib/jabberd/db</path>
<!-- Synchronize the database to disk after each write. If you disable this, database accesses may be faster, but data may @@ -295,7 +456,57 @@ <sync/> </db>
+ <!-- LDAPFULL module configuration --> + <ldapfull> + <!-- LDAP server host and port (default: 389) --> + <uri>ldap://localhost/ ldaps://ldap.example.com/</uri> + + <!-- DN to bind as for searches. If unspecified, the searches + will be done anonymously. --> + <!-- + <binddn>cn=Directory Manager</binddn> + <bindpw>secret</bindpw> + --> + + <!-- Type of LDAP server. Currently "ad" for active directory and "ldap" + for other ldap servers. If not specified, then it is ldap. --> + <!-- + <type>ad</type> + --> + + <!-- LDAP attribute that holds the user ID (default: uid) --> + <uidattr>uid</uidattr> + <objectclass>posixAccount</objectclass> + <pwattr>userPassword</pwattr> + <!-- if you use included jabberd.schema use this: + <uidattr>jid</uidattr> + <objectclass>jabberUser</objectclass> + <pwattr>jabberPassword</pwattr> + --> + + <!-- Attribute that holds jabber account status. Must be TRUE for AD, + and 1 for other LDAP server. + If not specified, then it will not be used. --> + <!-- + <validattr>valid</validattr> + --> + <fulluid/> + <!-- If pwscheme is not defined, then passwords are stored in clear + text and digest authentication may be done. + If passwords are hashed, then you cannot use digest authentication + and should use plain text authentication. + For now, sha, ssha and plain may be specified --> + <!-- <pwscheme>ssha</pwscheme> --> + + <!-- base DN of the tree. You should specify a DN for each + authentication realm declared in the <local/> section above, + by using the realm attribute. --> + <basedn realm='company'>o=Company.com</basedn> + <basedn>o=Example Corp.</basedn> + </ldapfull> + <!-- LDAP module configuration --> + <!-- Remember that you need to use PLAIN auth with LDAP backend --> <ldap> <!-- LDAP server host and port (default: 389) --> <host>ldap.example.com</host> @@ -330,12 +541,37 @@ <!-- LDAP attribute that holds the user ID (default: uid) --> <uidattr>uid</uidattr>
+ <!-- Enable the append-realm element if you want to append + realm value (usernam@realm) to the uidattr value + <append-realm/> + --> + + <!-- Alternatively to <uidattr/> and <append-realm/> you may + specify full LDAP search <query/> that will be used to + get user objects from directory. + + The following replacements take place: + %u is replaced by user login name + %r is replaced by user login realm + + When <query/> is specified, <uidattr/> and <append-realm/> + are unused and take no effect. --> + <!-- + <query>(&(mail=%u@%r)(objectClass=inetOrgPerson))</query> + --> + <!-- base DN of the tree. You should specify a DN for each authentication realm declared in the <local/> section above, by using the realm attribute. --> <basedn realm='company'>o=Company.com</basedn> <basedn>o=Example Corp.</basedn> </ldap> + <!-- if you want to configure more than one LDAP server + create ldap1, ldap2 etc. sections + <ldap1> + + </ldap1> + -->
<!-- Pipe module configuration --> <pipe> @@ -346,3 +582,6 @@ </authreg>
</c2s> +<!-- + vim: syntax=xml +--> diff --git a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml index ecd4ff6..9cd2ab1 100644 --- a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml +++ b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/s2s.xml @@ -6,7 +6,7 @@ <!-- The process ID file. comment this out if you don't need to know to know the process ID from outside the process (eg for control scripts) --> - <pidfile>/var/run/jabberd/jabberd-s2s.pid</pidfile> + <pidfile>/var/lib/jabberd/pid/s2s.pid</pidfile>
<!-- Router connection configuration --> <router> @@ -16,7 +16,7 @@
<!-- Username/password to authenticate as --> <user>jabberd</user> <!-- default: jabberd --> - <pass>secret</pass> <!-- default: secret --> + <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> <!-- default: secret -->
<!-- The router will only allow one component to be the default route (ie the component that receives packets destined for @@ -33,7 +33,7 @@ commented out, or the file can't be read, no attempt will be made to establish an encrypted channel with the router. --> <!-- - <pemfile>/etc/jabberd/server.pem</pemfile> + <pemfile>/etc/pki/spacewalk/jabberd/server.pem</pemfile> -->
<!-- Router connection retry --> @@ -89,43 +89,120 @@ <!-- <secret>secret</secret> --> + + <!-- File containing an SSL certificate and private key to use when setting + up encrypted s2s connections with other servers (STARTTLS + Dialback). + From SSL_CTX_use_certificate_chain_file(3): "The certificates must be + in PEM format and must be sorted starting with the subject's + certificate (actual client or server certificate), followed + by intermediate CA certificates if applicable, and ending + at the highest level (root) CA" (the latter one being optional). + If this is commented out, or the file can't be read, no attempt will be + made to establish encrypted connections with other servers. --> + <!-- + <pemfile>/etc/pki/spacewalk/jabberd/server.pem</pemfile> + --> + + <!-- SSL verify mode - see SSL_CTX_set_verify(3), mode parameter --> + <!-- + <verify-mode>7</verify-mode> + --> + + <!-- File containing an optional SSL certificate chain file for SSL + connections. --> + <!-- + <cachain>/etc/pki/spacewalk/jabberd/cachain.pem</cachain> + --> + </local>
+ <!-- input/output settings --> + <io> + <!-- Maximum number of file descriptors. Note that the number of + possible connections will be slightly less than this, because + s2s itself can use some on its own. If the supply of file + descriptors is exhausted, new incoming connections will be + denied. + + These connections are mainly consumed when we make a + connection to an external jabber server, or an external jabber + server connects to us. If you don't have a lot of users then + there's probably no need for s2s to establish connections to + external jabber servers and the default value here is probably + fine. On the other hand, if you have lots of users with lots + of remote buddies in their buddylist then s2s will need to have + lots of open connections with other jabber servers and you may + need to increase this value. + + Note that this value only affects how many file descriptors + jabberd is able to handle internally. You may also need to + tell your operating system to allow jabberd to use more file + descriptors. On Linux this can be done using ulimit -n or by + changing the value of /proc/sys/fd/file-max. + + (default: 1024) --> + <max_fds>1024</max_fds> + + <!-- Rate limiting --> + <limits> + <!-- Maximum stanza size - if more than given number of bytes + are read in one incoming stanza, the stream is closed + with policy-violation error. + + Set to 0 to disable. + Values less than 16384 might not work. --> + <stanzasize>65535</stanzasize> + </limits> + + </io> + <!-- Timed checks --> <check> <!-- Interval between checks.
Checks will be run every n seconds.
- 0 disables all checks. (default: 0) --> + 0 disables all checks. (default: 60) --> <interval>3</interval>
- <!-- Queue expiry. + <!-- Queue expiry and connection timeout.
While a connection is being established and dialback is in progress, packets are queued. If a valid connection has not been established within this many seconds, the connection process will be aborted and the queued packets will be - bounced. + bounced. Timeout checks are made for three phases of + setting up a route authenticated through dialback: + 1. Connection establishment to exchange of stream headers + 2. Initiating dialback (incoming connections) + 3. Completing dialback (incoming and outgoing) + + If stage 1 connection establishment fails and there are + alternative hosts for this route that have not failed + recently, they will be tried too before finally giving up. + + 0 disables queue expiry. (default: 60) --> + <queue>60</queue> + + <!-- Queue retry timeout. + + If the queue is older than this timeout, the connection + will not be retried even if there are alternative hosts + that have not failed recently.
- 0 disables queue expiry. (default: 0) --> - <queue>0</queue> + 0 disables retry expiry. (default: 300) --> + <retry>300</retry>
- <!-- Invalid route expiry. + <!-- Idle connection checks.
- If the dialback process for a route (local/remote), then that - route is marked as invalid, and no packets can be sent via the - route. Any routes that are marked invalid when this check runs - will have their invalid status cleared, and dialback will be - attempted for this route the next time a packet is sent via it. - If this is disabled, then an invalid route will stay invalid - until s2s is restarted. + Connections that have not sent data for longer than this many + seconds will be dropped.
- 0 disables invalid route expiry. (default: 0) --> - <invalid>0</invalid> + 0 disables idle timeouts. (default: 86400) --> + <idle>86400</idle>
<!-- Keepalives. - + Outgoing connections that have not been used for longer than this many seconds will have a single whitespace character sent to them. This will force the TCP connection to be closed if @@ -134,6 +211,71 @@ 0 disables keepalives. (default: 0) --> <keepalive>0</keepalive>
+ <!-- Interval between DNS result/bad host expiry. + + 0 disables expiry checks. (default: 300) --> + <dnscache>300</dnscache> </check>
+ <!-- Statistics --> + <stats> + <!-- file containing count of packets that went through --> + <!-- + <packet>/var/lib/jabberd/stats/s2s.packets</packet> + --> + </stats> + + <lookup> + <!-- SRV TCP services will be resolved in the following order. The first + one that returns something will be used (ie dereferenced via an + A/AAAA lookup). If no SRV records are found, resolver will + fallback to a straight A/AAAA lookup. --> + + <!-- xmpp-server is mandated by the XMPP spec --> + <srv>xmpp-server</srv> + + <!-- traditionally, jabber has been used --> + <srv>jabber</srv> + + + <!-- If this is enabled, the resolver will look up AAAA records as well + as A records. This is needed if you want s2s to use IPv6. + Connection attempts will be made to all IPv6 hosts before trying + IPv4 (see bad host timeout below). --> + <!-- + <resolve-ipv6/> + --> + + <!-- Minimum time that DNS lookup results are cached (overrides max below). --> + <min-ttl>30</min-ttl> + + <!-- Maximum time that DNS lookup results are cached. --> + <max-ttl>86400</max-ttl> + + <!-- Minimum time to wait before using hosts that we have failed to + establish a connection to (unless there are no alternatives). + Do not set this too low - it is required to detect permanent + problems like broken IPv6 connectivity in order to attempt IPv4. + + 0 disables bad host caching. (default: 3600) --> + <bad-host-timeout>3600</bad-host-timeout> + + <!-- Disable the DNS cache (negative caching will still be done). + This is likely to negatively impact performance while saving + a small amount of memory since multiple DNS requests must + then be made for every re-connection. --> + <!-- + <no-cache/> + --> + </lookup> + + <!-- If this is enabled, domains which share the same host will re-use + existing outgoing connections. This is a potential security risk + as the SSL connection from the first domain will be re-used too. --> + <out-reuse-conn/> + </s2s> +<!-- + vim: syntax=xml +--> + diff --git a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml index f2e0e47..4354301 100644 --- a/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml +++ b/spacewalk/config/etc/sysconfig/rhn-satellite-prep/etc/jabberd/sm.xml @@ -2,14 +2,12 @@ <sm> <!-- Our ID on the network. Users will have this as the domain part of their JID. If you want your server to be accessible from other - Jabber servers, this ID must be resolvable by DNS.s - (default: localhost) --> + Jabber servers, this ID must be FQDN resolvable by DNSes --> <id>@@jabberDOThostname@@</id>
- <!-- The process ID file. comment this out if you don't need to know - to know the process ID from outside the process (eg for control - scripts) --> - <pidfile>/var/run/jabberd/jabberd-sm.pid</pidfile> + <!-- The process ID file. Comment this out if you don't need to know + the process ID from outside the process (eg for control scripts) --> + <pidfile>/var/lib/jabberd/pid/sm.pid</pidfile>
<!-- Router connection configuration --> <router> @@ -19,14 +17,19 @@
<!-- Username/password to authenticate as --> <user>jabberd</user> <!-- default: jabberd --> - <pass>secret</pass> <!-- default: secret --> - - <!-- File containing a SSL certificate and private key to use when - setting up an encrypted channel with the router. If this is - commented out, or the file can't be read, no attempt will be - made to establish an encrypted channel with the router. --> + <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> <!-- default: secret --> + + <!-- File containing an SSL certificate and private key to use when + setting up an encrypted channel with the router. From + SSL_CTX_use_certificate_chain_file(3): "The certificates must be + in PEM format and must be sorted starting with the subject's + certificate (actual client or server certificate), followed + by intermediate CA certificates if applicable, and ending + at the highest level (root) CA" (the latter one being optional). + If this is commented out, or the file can't be read, no attempt + will be made to establish an encrypted channel with the router. --> <!-- - <pemfile>/etc/jabberd/server.pem</pemfile> + <pemfile>/etc/pki/spacewalk/jabberd/server.pem</pemfile> -->
<!-- Router connection retry --> @@ -59,20 +62,40 @@
<!-- If logging to file, this is the filename of the logfile --> <!-- - <file>/var/log/jabberd/sm.log</file> + <file>/var/lib/jabberd/log/sm.log</file> --> </log>
<!-- Storage database configuration --> <storage> + <!-- Dynamic storage modules path --> + <path>/usr/lib/jabberd</path> + <!-- By default, we use the MySQL driver for all storage --> <driver>db</driver>
<!-- Its also possible to explicitly list alternate drivers for specific data types. --> - <!-- Store vcards in a PostgreSQL database instead --> + + <!-- Store vcards in a ldapvcard database instead --> + <!-- + <driver type='vcard'>ldapvcard</driver> + --> + + <!-- Read mapping for group id <-> group name from ldap. + Used by mod_published_roster. + See ldapvcard section for options. + When resolving group id to group name, it searches for + groupsobjectclass objects at groupsdn base using group id + (in groupsidattr) as key and returns the first value of + groupattr of first found entry. + E.g.. in general case, if group id is "some-dep", and groupsdn + is o=org, and class is jabberGroup, it searches for + (&(objectClass=jabberGroup)(cn=some-dep)) and returns value of + jabberPublishedItem attribute, which may contain textual description. + --> <!-- - <driver type='vcard'>pgsql</driver> + <driver type='published-roster-groups'>ldapvcard</driver> -->
<!-- MySQL driver configuration --> @@ -86,7 +109,7 @@
<!-- Database username and password --> <user>jabberd2</user> - <pass>secret</pass> + <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass>
<!-- Transacation support. If this is commented out, transactions will be disabled. This might make database accesses faster, @@ -100,6 +123,14 @@
<!-- PostgreSQL driver configuration --> <pgsql> + <!-- PostgreSQL connection info. + For the rest of the options see + http://www.postgresql.org/docs/8.0/interactive/libpq.html --> + <conninfo>dbname=jabberd2 user=jabberd2 password=secret</conninfo> + + <!-- Alternatively you may set connection settings separately. + These are used only in absence of 'conninfo' --> + <!-- Database server host and port --> <host>localhost</host> <port>5432</port> @@ -109,7 +140,7 @@
<!-- Database username and password --> <user>jabberd2</user> - <pass>secret</pass> + <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass>
<!-- Transacation support. If this is commented out, transactions will be disabled. This might make database accesses faster, @@ -117,16 +148,134 @@ <transactions/> </pgsql>
- <!-- Berkeley DB driver configuration --> + <!-- Berkeley DB driver configuration. This does not support roster + maxitems or offline userquota (because the mod_roster + implementation does not implement the 'count' callback). --> <db> <!-- Directory to store database files under --> - <path>/var/lib/jabberd</path> + <path>/var/lib/jabberd/db</path>
<!-- Synchronize the database to disk after each write. If you disable this, database accesses may be faster, but data may be lost if jabberd crashes. --> <sync/> </db> + + <!-- Oracle driver configuration --> + <oracle> + <!-- Database server host and port. --> + <host>localhost</host> + <port>1521</port> + + <!-- Database name --> + <dbname>jabberd2</dbname> + + <!-- Database username and password --> + <user>jabberd2</user> + <pass>45296ce7aeb79751a83413fca6af2612e95a2fb6</pass> + </oracle> + + <!-- SQLite driver configuration --> + <sqlite> + <!-- Database name --> + <dbname>/var/lib/jabberd/db/sqlite.db</dbname> + + <!-- Transacation support. If this is commented out, transactions + will be disabled. This might make database accesses faster, + but data may be lost if jabberd crashes. --> + <transactions/> + + <!-- SQLite busy-timeout in milliseconds. --> + <busy-timeout>2000</busy-timeout> + </sqlite> + + <!-- Filesystem driver configuration --> + <fs> + <!-- Directory to store database files under. --> + <path>/var/lib/lib/jabberd2/fs</path> + </fs> + + <!-- LDAPVCARD driver configuration --> + <ldapvcard> + <!-- LDAP server host and port (default: 389) --> + <uri>ldap://localhost/ ldaps://ldap.example.com/</uri> + + <!-- DN to bind as for searches. If unspecified, the searches + will be done anonymously. --> + <!-- + <binddn>cn=Directory Manager</binddn> + <bindpw>secret</bindpw> + --> + + <!-- see authreg.ldapfull int c2s.xml for description. --> + <!-- + <type>ad</type> + --> + + <!-- LDAP attribute that holds the user ID (default: uid) --> + <uidattr>uid</uidattr> + <objectclass>posixAccount</objectclass> + <pwattr>userPassword</pwattr> + <!-- if you use included jabberd.schema use this: + <uidattr>jid</uidattr> + <objectclass>jabberUser</objectclass> + <pwattr>jabberPassword</pwattr> + --> + + <!-- see authreg.ldapfull int c2s.xml for description. --> + <!-- + <validattr>valid</validattr> + --> + + <!-- base DN of the tree. You should specify a DN for each + authentication realm declared in the <local/> section above, + by using the realm attribute. --> + <basedn>o=Example Corp.</basedn> + + <!-- attribute that holds published group name or id, + jabberPublishedGroup if not set --> + <!-- + <groupattr>jabberPublishedGroup</groupattr> + --> + + <!-- boolean attribute that tells, publish or not this user + jabberPublishedItem by default --> + <!-- + <publishedattr>jabberPublishedItem</publishedattr> + --> + + <!-- If value specified, then keep cache of "published-roster" + database. Cache is renewed when kept more seconds than value + specified. Setting this value increases perfomance of publishing + roster. If not specified, then we don't keep cache. --> + <publishedcachettl>60</publishedcachettl> + + <mapped-groups> + <!-- If turned on, then reading mapping of group ids to names with + LDAP will works. --> + <!-- + <map-groups/> + --> + + <!-- base for searches for group id to group name mappings --> + <basedn>ou=jabbergroups, o=Example Corp.</basedn> + + <!-- what objectclass to search, jabberGroup by default --> + <!-- + <objectclass>jabberGroup</objectclass> + --> + + <!-- what attribute to search, cn by default --> + <!-- + <idattr>cn</idattr> + --> + + <!-- attribute with text group name, description by default --> + <!-- + <nameattr>description</nameattr> + --> + </mapped-groups> + </ldapvcard> </storage>
<!-- Access control information --> @@ -134,14 +283,14 @@ <!-- The JIDs listed here will get access to all restricted functions, regardless of restrictions further down --> <acl type='all'> - <jid>admin@localhost</jid> + <jid>admin@localhost.localdomain</jid> </acl>
<!-- These JIDs can send broadcast messages (announce, motd) --> <!-- <acl type='broadcast'> - <jid>nocstaff1@localhost</jid> - <jid>nocstaff2@localhost</jid> + <jid>nocstaff1@localhost.localdomain</jid> + <jid>nocstaff2@localhost.localdomain</jid> </acl> -->
@@ -149,14 +298,14 @@ (help requestes and such) --> <!-- <acl type='messages'> - <jid>support@localhost</jid> + <jid>support@localhost.localdomain</jid> </acl> -->
<!-- These JIDs can discover active user/session information --> <!-- <acl type='disco'> - <jid>webstatus@localhost</jid> + <jid>webstatus@localhost.localdomain</jid> </acl> --> </aci> @@ -176,16 +325,21 @@ this may cause strange behaviour. Make sure you know what you're doing. --> <modules> + <!-- Dynamic sm modules path --> + <path>/usr/lib/jabberd</path>
<!-- sess-start. The modules in this chain are called when a session is first started (usually on request by c2s as part of the authentication process). This is normally used to load per-session data. --> - <chain id='sess-start'/> + <chain id='sess-start'> + <module>status</module> <!-- record status information --> + </chain>
<!-- sess-end. The modules in this chain are called just before a session is destroyed (after the client has disconnected). --> <chain id='sess-end'> + <module>status</module> <!-- update status information --> <module>iq-last</module> <!-- update logout time --> </chain>
@@ -195,12 +349,15 @@ this is usually handled by the "deliver" module. --> <chain id='in-sess'> <module>validate</module> <!-- validate packet type --> + <module>status</module> <!-- update status information --> <module>privacy</module> <!-- manage privacy lists --> <module>roster</module> <!-- handle roster get/sets and s10ns --> <module>vacation</module> <!-- manage vacation settings --> <module>iq-vcard</module> <!-- store and retrieve the user's vcard --> + <module>iq-ping</module> <!-- return the server ping --> <module>iq-private</module> <!-- manage the user's private data store --> <module>disco</module> <!-- respond to agents requests from sessions --> + <module>amp</module> <!-- advanced message processing --> <module>offline</module> <!-- if we're coming online for the first time, deliver queued messages --> <module>announce</module> <!-- deliver motd --> <module>presence</module> <!-- process and distribute presence updates --> @@ -236,12 +393,16 @@ session-manager-wide services (like service discovery). --> <chain id='pkt-sm'> <module>iq-last</module> <!-- return the server uptime --> + <module>iq-ping</module> <!-- return the server ping --> <module>iq-time</module> <!-- return the current server time --> <module>iq-version</module> <!-- return the server name and version --> + <module>amp</module> <!-- advanced message processing --> <module>disco</module> <!-- build the disco list; respond to disco queries --> <module>announce</module> <!-- send broadcast messages (announce, motd, etc) --> <module>help</module> <!-- resend sm messages to administrators --> <module>echo</module> <!-- echo messages sent to /echo --> + <module>status</module> <!-- track status information --> + <module>presence</module> <!-- proces server presence subscriptions --> </chain>
<!-- pkt-user. The modules in this chain are called when a packet @@ -253,6 +414,7 @@ <module>roster</module> <!-- handle s10n responses --> <module>presence</module> <!-- process and distribute incoming presence from external entities --> <module>iq-vcard</module> <!-- grab user vcards --> + <module>amp</module> <!-- advanced message processing --> <module>deliver</module> <!-- deliver the packet to an active session if we can --> <module>vacation</module> <!-- send vacation messages --> <module>offline</module> <!-- save messages and s10ns for later --> @@ -264,7 +426,7 @@ special-purpose packet arrives from the router (eg domain advertisements). --> <chain id='pkt-router'> - <module>session</module> <!-- take sessions offline their c2s disappears --> + <module>session</module> <!-- take sessions offline if their c2s disappears --> <module>disco</module> <!-- query new components for service information --> </chain>
@@ -274,6 +436,7 @@ <chain id='user-load'> <module>active</module> <!-- get active status --> <module>roster</module> <!-- load the roster and trust list --> + <module>roster-publish</module> <!-- load the published roster --> <module>privacy</module> <!-- load privacy lists --> <module>disco-publish</module> <!-- load published information --> <module>vacation</module> <!-- load vacation settings --> @@ -300,11 +463,21 @@ <module>privacy</module> <!-- delete privacy lists --> <module>roster</module> <!-- delete roster --> <module>vacation</module> <!-- delete vacation settings --> + <module>status</module> <!-- delete status information --> <module>iq-last</module> <!-- delete last logout time --> <module>iq-private</module> <!-- delete private data --> <module>iq-vcard</module> <!-- delete vcard --> </chain>
+ <!-- disco-extend. The modules in this chain are called when a disco + info request is send to session manager. It implements XEP-0128 + Service Discovery Extensions mechanizm to add additional + information to disco#info reply. --> + <chain id='disco-extend'> + <module>iq-version</module> <!-- add XEP-xxxx Software Information --> + <module>help</module> <!-- add XEP-0157 Contact Addresses --> + </chain> + </modules>
<!-- Service discovery configuration --> @@ -327,7 +500,7 @@ <!-- Static service list.
The discover module can discover disco-capable services - automatically as they come online. Most legacy services, + automatically as they come online. Most XEP-0114 components, however, will not support discovery. In order to get them to appear in disco/agents lists returned to the client, they should be listed here. @@ -353,6 +526,29 @@
</items>
+ <!-- Server information added to server discovery information + in http://jabber.org/network/serverinfo jabber:x:data form. (XEP-0157) + + May contain many values per item --> + <!-- + <serverinfo> + <admin-addresses> + <value>mailto:xmpp@localhost.localdomain</value> + <value>xmpp:admins@localhost.localdomain</value> + </admin-addresses> + <abuse-addresses> + <value>mailto:abuse@localhost.localdomain</value> + <value>xmpp:abuse@localhost.localdomain</value> + </abuse-addresses> + <feedback-addresses> + <value>http://example.org/feedback.php</value> + </feedback-addresses> + <sales-addresses/> + <security-addresses/> + <support-addresses/> + </serverinfo> + --> + </discovery>
<!-- User options --> @@ -371,10 +567,153 @@ <!-- Templates. If defined, the contents of these files will be stored in the users data store when they are created. --> <template> + <!-- Uncomment <publish> if you wish to forcely publish + roster template from ldap on each user login --> + <!-- + <publish> + --> + <!-- If <check-remove-domain> given, then published contact checked + against sm user database and if user is unknown to sm, contact + will be deleted from user's roster (if it is in roster). --> + <!-- + <check-remove-domain>jabber.example.com</check-remove-domain> + --> + <!-- Keep cache of "active" database specified number of seconds. + This will significantly speed up publishing of roster. + If unspecified or 0, no cache is used. --> + <active-cache-ttl>60</active-cache-ttl> + <!-- If <fix-subscriptions/> is not commented, set subscriptions of + user's contacts to subscriptions of corresponding published + contacts. As for now, "both". --> + <!-- + <fix-subscriptions/> + --> + <!-- If <override-names/> is not commented, then displayed names of + contacts in user's roster will be updated accordingly to + published roster (if they differ). If commented, then user can + rename contacs in roster --> + <!-- + <override-names/> + --> + <!-- when mapped-groups is on (<map-groups/> is uncommented, the actual + group names for published contacts are read from + published-roster-groups storage type, which in turn may be mapped + to ldapvcard driver. The key for searching is published user's + group, and returned value is used as group name. So you can assign + textual group IDs to users rather then group names. + group-cache-ttl keeps cache of mapping group id <-> group name for + specified number of seconds. If unspecified or 0, no cache is used. + --> + <!-- + <mapped-groups/> + <map-groups/> + <group-cache-ttl>120</group-cache-ttl> + </mapped-groups> + --> + <!-- If <force-groups> is commented out, published roster's contact + added to user's roster only when user does not have this contact. + If <force-groups> is not commented out, then these checks performed + against roster item when publishing roster item that already in + user's roster: + If user already has added his roster's contact to group of + published contact, no changes are made with this group (note + that contact may be in more than one group). + If <prefix> given, then prefix of each group of user's compared + whith given prefix, and if it matches, user's contact removed from + matched group (see below). + Same for <suffix>. + After that, user's contact added to a group of published roster's + contact. + In other words, all groups of updated contact, that match prefix + or suffix, replaced with group of published contact. + This is done because there is no way to determine that group was + published or greated by user. --> + <!-- + <force-groups> + <prefix>MyOrg.</prefix> + <suffix>(MyOrg)</suffix> + </force-groups> + --> + <!-- + </publish> + --> + + <!-- If you defined publish, you should comment <roster> --> <!-- <roster>/etc/jabberd/templates/roster.xml</roster> --> </template> </user>
+ <!-- Advanced Message Processing module configuration --> + <amp> + <!-- You can disable some actions --> + <!-- + <disableactions> + <drop/> + <error/> + <alert/> + <notify/> + </disableactions> + --> + + <!-- You can disable some conditions --> + <!-- + <disableconditions> + <expireat/> + <matchresource/> + <deliver/> + </disableconditions> + --> + + <!-- You need to enable this if your server has offline storage disabled --> + <!-- + <offlinestoragedisabled/> + --> + </amp> + + <!-- Offline module configuration --> + <offline> + <!-- Do not store messages in offline store --> + <!-- + <dropmessages/> + --> + + <!-- Store headline messages in offline store --> + <!-- + <storeheadlines/> + --> + + <!-- Do not store subscription requests in offline store --> + <!-- + <dropsubscriptions/> + --> + + <!-- Offline storage message quota. + Specifies how many messages will be stored in user offline store --> + <!-- + <userquota>500</userquota> + --> + </offline> + + <!-- roster module configuration --> + <roster> + <!-- maximum items per user roster --> + <!-- + <maxitems>100</maxitems> + --> + </roster> + + <!-- status module configuration --> + <status> + <!-- presence service resource + disabled when commented out --> + <!-- + <resource>webstatus</resource> + --> + </status> + </sm> +<!-- + vim: syntax=xml +--> diff --git a/spacewalk/setup/bin/spacewalk-setup b/spacewalk/setup/bin/spacewalk-setup index 00a3690..5f9496d 100644 --- a/spacewalk/setup/bin/spacewalk-setup +++ b/spacewalk/setup/bin/spacewalk-setup @@ -1,6 +1,6 @@ #!/usr/bin/perl # -# Copyright (c) 2008 Red Hat, Inc. +# Copyright (c) 2008,2009 Red Hat, Inc. # # This software is licensed to you under the GNU General Public License, # version 2 (GPLv2). There is NO WARRANTY for this software, express or @@ -603,7 +603,7 @@ sub setup_ssl_certs {
Spacewalk::Setup::generate_server_pem(-ssl_dir => $answers->{'ssl-dir'}, -system => $system_name, - -out_file => '/etc/jabberd/server.pem'); + -out_file => '/etc/pki/spacewalk/jabberd/server.pem');
store_ssl_cert(-ssl_dir => $answers->{'ssl-dir'}); }
commit 7e6ee620da928d15e3d50bd752f51183213a352f Author: Brad Buckingham bbuckingham@redhat.com Date: Tue Mar 24 14:37:04 2009 -0400
489616 - update NewChannelHelper to avoid duplicate query...
diff --git a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java index 52e1c34..21f4d61 100644 --- a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java +++ b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java @@ -137,8 +137,8 @@ public class NewChannelHelper { // then attempt to clone a channel (e.g. using API). In that case, // it is possible the family doesn't yet exist when this method is called. OrgManager.createChannelFamily(user.getOrg()); + family = ChannelFamilyFactory.lookupByOrg(user.getOrg()); } - family = ChannelFamilyFactory.lookupByOrg(user.getOrg()); family.getChannels().add(cloned); cloned.setChannelFamily(family);
commit 1aad37f79cfc242aa4a3752f46b0d70f4a1bef4c Author: Brad Buckingham bbuckingham@redhat.com Date: Tue Mar 24 14:21:49 2009 -0400
491762 - ProfileManager.epochcmp incorrectly handling null epoch value
If the second epoch (e2) being evaluated was null, it would generate ISE due to an incorrect comparison.
diff --git a/java/code/src/com/redhat/rhn/manager/profile/ProfileManager.java b/java/code/src/com/redhat/rhn/manager/profile/ProfileManager.java index 5e5ace6..11840fc 100644 --- a/java/code/src/com/redhat/rhn/manager/profile/ProfileManager.java +++ b/java/code/src/com/redhat/rhn/manager/profile/ProfileManager.java @@ -1211,7 +1211,7 @@ public class ProfileManager extends BaseManager { if (e1 != null) { epoch1 = Integer.parseInt(e1); } - if (e1 != null) { + if (e2 != null) { epoch2 = Integer.parseInt(e2); }
commit f811e59d177e6922c54eea65123d9782b324bac7 Author: Brad Buckingham bbuckingham@redhat.com Date: Tue Mar 24 12:58:07 2009 -0400
489616 - update NewChannelHelper.clone to create channel family, if none exists
In most cases, a private channel family will exist before a channel is cloned. For example, recent changes were introduced to ensure that a private channel family is created for scenarios like initial activation of the server, syncing of channels as well as creation of organizations; however, there is an edge case that is not covered.
The edge case involves earlier installations (e.g. 0.1) that are upgraded to the latest release (e.g. 0.5). For example, if a user has Spacewalk 0.1 installed and they sync a channel, no private family is created. If the user then upgrades to the latest release that contains the other improvements, there still will not exist a private channel family. As a result, if the user then attempts to clone the channel that they synced in 0.1 using the API (channel.software.clone) a null pointer exception will be generated.
This commit is to address this edge case...
diff --git a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java index 6a882ca..52e1c34 100644 --- a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java +++ b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java @@ -16,6 +16,7 @@ package com.redhat.rhn.domain.channel;
import com.redhat.rhn.domain.user.User; import com.redhat.rhn.manager.channel.ChannelManager; +import com.redhat.rhn.manager.org.OrgManager; import com.redhat.rhn.manager.user.UserManager;
import java.util.Date; @@ -31,7 +32,6 @@ import java.util.regex.Pattern; * @version $Rev$ */ public class NewChannelHelper { -
//required private String name; @@ -39,7 +39,6 @@ public class NewChannelHelper { private ChannelArch arch; private String summary; private User user; -
//optional private Channel parent; @@ -48,8 +47,6 @@ public class NewChannelHelper { private String gpgFingerprint; private String description;
- - /** * Creates a cloned channel based off the info contained within this object * and the packages in the toClone @@ -102,7 +99,6 @@ public class NewChannelHelper { cloned.setOrg(user.getOrg()); cloned.setBaseDir("/dev/null"); //this is how the perl code did it cloned.setOriginal(toClone); -
if (parent != null) { cloned.setParentChannel(parent); @@ -130,8 +126,21 @@ public class NewChannelHelper { }
//adopt the channel into the org's channelfamily - ChannelFamilyFactory.lookupByOrg(user.getOrg()).getChannels().add(cloned); - cloned.setChannelFamily(ChannelFamilyFactory.lookupByOrg(user.getOrg())); + ChannelFamily family = ChannelFamilyFactory.lookupByOrg(user.getOrg()); + if (family == null) { + // In most scenarios, the channel family will not be null. Changes + // were made to ensure that the family is created at org creation (486018) + // as well as during satellite-sync (446289); however, there is still + // an edge case where a customer may have an earlier Satellite (e.g. 511) + // with a configuration that doesn't have a channel family created yet, + // they upgrade to the version that has these improvements (e.g. 530) and + // then attempt to clone a channel (e.g. using API). In that case, + // it is possible the family doesn't yet exist when this method is called. + OrgManager.createChannelFamily(user.getOrg()); + } + family = ChannelFamilyFactory.lookupByOrg(user.getOrg()); + family.getChannels().add(cloned); + cloned.setChannelFamily(family);
// Mark the affected channel to have it's metadata evaluated, where necessary // (RHEL5+, mostly)
commit 722a4e08b464a4e9bb1c59c180b764578a32e0d1 Author: Justin Sherrill jsherril@redhat.com Date: Tue Mar 24 12:17:32 2009 -0400
491206 - fixed ISE upon errata deletion
diff --git a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java index 2681205..04c0c37 100644 --- a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java +++ b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java @@ -470,7 +470,7 @@ public class ErrataManager extends BaseManager { oe.getId().longValue(), user.getOrg().getId(), null); for (Iterator chanItr = channels.iterator(); chanItr.hasNext();) { Map chan = (Map)chanItr.next(); - String lbl = chan.get("channel_label").toString(); + String lbl = chan.get("label").toString(); ChannelManager.queueChannelChange(lbl, "java::deleteErrata", oe.getAdvisory()); }
commit 401c24f7c6dddf71aee78723511252c8aa57180e Author: Jason Dobies jason.dobies@redhat.com Date: Tue Mar 24 11:21:10 2009 -0500
467063 - Ported errata overview and relevant errata over to new list tag to provide page size control
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java index 7757640..5aaaa70 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantAction.java @@ -14,31 +14,45 @@ */ package com.redhat.rhn.frontend.action.errata;
-import com.redhat.rhn.frontend.action.BaseFilterAction; - +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; - -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import com.redhat.rhn.common.db.datasource.DataResult; +import com.redhat.rhn.domain.user.User; +import com.redhat.rhn.frontend.struts.RequestContext; +import com.redhat.rhn.frontend.struts.RhnAction; +import com.redhat.rhn.frontend.taglibs.list.helper.ListHelper; +import com.redhat.rhn.frontend.taglibs.list.helper.Listable; +import com.redhat.rhn.manager.errata.ErrataManager;
/** - * ErrataListRelevantAction - * @version $Rev$ + * Loads the data for the relevant errata. This action is written to comply with the + * "new" list tag. + * + * @version $Revision$ */ -public class ErrataListRelevantAction extends BaseFilterAction { +public class ErrataListRelevantAction extends RhnAction implements Listable {
/** {@inheritDoc} */ - public ActionForward execute(ActionMapping mapping, - ActionForm formIn, + public ActionForward execute(ActionMapping actionMapping, + ActionForm actionForm, HttpServletRequest request, - HttpServletResponse response) { - Map params = makeParamMap(request); - processFilterParameters(params, request); - - return getStrutsDelegate().forwardParams(mapping.findForward("default"), params); + HttpServletResponse response) + throws Exception { + + ListHelper helper = new ListHelper(this, request); + helper.execute(); + + return actionMapping.findForward("default"); + } + + /** {@inheritDoc} */ + public List getResult(RequestContext context) { + User user = context.getLoggedInUser(); + DataResult result = ErrataManager.relevantErrata(user); + return result; } } diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantSetupAction.java deleted file mode 100644 index eb363ff..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataListRelevantSetupAction.java +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.errata; - -import com.redhat.rhn.common.db.datasource.DataResult; -import com.redhat.rhn.domain.user.User; -import com.redhat.rhn.frontend.listview.PageControl; -import com.redhat.rhn.manager.errata.ErrataManager; - -/** - * ErrataListRelevantSetupAction - * @version $Rev$ - */ -public class ErrataListRelevantSetupAction extends BaseErrataListSetupAction { - - /** - * {@inheritDoc} - */ - protected DataResult getDataResult(User user, PageControl pc) { - pc.setFilter(true); - pc.setFilterColumn("advisorySynopsis"); - return ErrataManager.relevantErrata(user, pc); - } -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListRelevantActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListRelevantActionTest.java deleted file mode 100644 index c73f08e..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListRelevantActionTest.java +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.errata.test; - -import com.redhat.rhn.frontend.action.errata.ErrataListRelevantSetupAction; -import com.redhat.rhn.testing.ActionHelper; -import com.redhat.rhn.testing.RhnBaseTestCase; - -/** - * ErrataListRelevantActionTest - * @version $Rev$ - */ -public class ErrataListRelevantActionTest extends RhnBaseTestCase { - - public ErrataListRelevantActionTest(String name) { - super(name); - } - - public void testExecute() throws Exception { - ErrataListRelevantSetupAction action = new ErrataListRelevantSetupAction(); - ActionHelper ah = new ActionHelper(); - - ah.setUpAction(action); - ah.setupClampListBounds(); - ah.executeAction(); - } -} diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListRelevantSetupActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListRelevantSetupActionTest.java deleted file mode 100644 index 00f3ccf..0000000 --- a/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataListRelevantSetupActionTest.java +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Copyright (c) 2009 Red Hat, Inc. - * - * This software is licensed to you under the GNU General Public License, - * version 2 (GPLv2). There is NO WARRANTY for this software, express or - * implied, including the implied warranties of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 - * along with this software; if not, see - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. - * - * Red Hat trademarks are not licensed under GPLv2. No permission is - * granted to use or replicate Red Hat trademarks that are incorporated - * in this software or its documentation. - */ -package com.redhat.rhn.frontend.action.errata.test; - -import com.redhat.rhn.frontend.action.errata.ErrataListRelevantSetupAction; -import com.redhat.rhn.testing.ActionHelper; -import com.redhat.rhn.testing.RhnBaseTestCase; - -/** - * ErrataListRelevantSetupActionTest - * @version $Rev$ - */ -public class ErrataListRelevantSetupActionTest extends RhnBaseTestCase { - - public ErrataListRelevantSetupActionTest(String name) { - super(name); - } - - public void testExecute() throws Exception { - ErrataListRelevantSetupAction action = new ErrataListRelevantSetupAction(); - ActionHelper ah = new ActionHelper(); - - ah.setUpAction(action); - ah.setupClampListBounds(); - - ah.executeAction(); - - assertNotNull(ah.getRequest().getAttribute("pageList")); - } -} diff --git a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java index d76b41e..2681205 100644 --- a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java +++ b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java @@ -295,16 +295,15 @@ public class ErrataManager extends BaseManager { /** * Returns the relevant errata. * @param user Currently logged in user. - * @param pc PageControl * @return relevant errata. */ - public static DataResult relevantErrata(User user, PageControl pc) { + public static DataResult relevantErrata(User user) { SelectMode m = ModeFactory.getMode("Errata_queries", "relevant_errata"); Map params = new HashMap(); params.put("user_id", user.getId()); Map elabParams = new HashMap(); elabParams.put("user_id", user.getId()); - return makeDataResult(params, elabParams, pc, m); + return makeDataResult(params, elabParams, null, m); }
/** diff --git a/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java b/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java index e291be9..ab68312 100644 --- a/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java +++ b/java/code/src/com/redhat/rhn/manager/errata/test/ErrataManagerTest.java @@ -182,10 +182,7 @@ public class ErrataManagerTest extends RhnBaseTestCase { User user = UserTestUtils.findNewUser("testUser", "testOrg"); ErrataCacheManagerTest.createServerNeededPackageCache(user, ErrataFactory.ERRATA_TYPE_BUG); - PageControl pc = new PageControl(); - pc.setStart(1); - pc.setPageSize(20); - DataResult errata = ErrataManager.relevantErrata(user, pc); + DataResult errata = ErrataManager.relevantErrata(user); assertNotNull(errata); assertTrue(errata.size() >= 1); } diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/errata/relevant-errata-list.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/errata/relevant-errata-list.jspf index 733434f..2078084 100644 --- a/java/code/webapp/WEB-INF/pages/common/fragments/errata/relevant-errata-list.jspf +++ b/java/code/webapp/WEB-INF/pages/common/fragments/errata/relevant-errata-list.jspf @@ -1,36 +1,41 @@ -<c:set var="pageList" value="${requestScope.pageList}" /> -<rhn:list pageList="${requestScope.pageList}" noDataText="erratalist.jsp.norelevanterrata" - legend="errata"> - <rhn:listdisplay filterBy="erratalist.jsp.synopsis"> - <rhn:column header="erratalist.jsp.type" style="text-align: left;"> - <c:if test="${current.securityAdvisory}"> - <img src="/img/wrh-security.gif" - alt="<bean:message key="erratalist.jsp.securityadvisory"/>" /> - </c:if> - <c:if test="${current.bugFix}"> - <img src="/img/wrh-bug.gif" - alt="<bean:message key="erratalist.jsp.bugadvisory"/>" /> - </c:if> - <c:if test="${current.productEnhancement}"> - <img src="/img/wrh-product.gif" - alt="<bean:message key="erratalist.jsp.productenhancementadvisory"/>" /> - </c:if> - </rhn:column> - <rhn:column header="erratalist.jsp.advisory" - url="/rhn/errata/details/Details.do?eid=${current.id}" - sortProperty="advisory"> - ${current.advisoryName} - </rhn:column> - <rhn:column header="erratalist.jsp.synopsis" sortProperty="advisorySynopsis"> - ${current.advisorySynopsis} - </rhn:column> - <rhn:column header="erratalist.jsp.systems" style="text-align: center;" - url="/rhn/errata/details/SystemsAffected.do?eid=${current.id}" - sortProperty="affectedSystemCount"> - ${current.affectedSystemCount} - </rhn:column> - <rhn:column header="erratalist.jsp.updated" style="text-align: center;"> - ${current.updateDate} - </rhn:column> - </rhn:listdisplay> -</rhn:list> +<rl:listset name="groupSet" legend="errata"> + + rl:list + + <rl:decorator name="PageSizeDecorator"/> + <rl:decorator name="ElaborationDecorator"/> + + <rl:column headerkey="erratalist.jsp.type" styleclass="text-align: left;"> + <c:if test="${current.securityAdvisory}"> + <img src="/img/wrh-security.gif" + alt="<bean:message key="erratalist.jsp.securityadvisory"/>"/> + </c:if> + <c:if test="${current.bugFix}"> + <img src="/img/wrh-bug.gif" + alt="<bean:message key="erratalist.jsp.bugadvisory"/>"/> + </c:if> + <c:if test="${current.productEnhancement}"> + <img src="/img/wrh-product.gif" + alt="<bean:message key="erratalist.jsp.productenhancementadvisory"/>"/> + </c:if> + </rl:column> + <rl:column headerkey="erratalist.jsp.advisory"> + <a href="/rhn/errata/details/Details.do?eid=${current.id}">${current.advisoryName}</a> + </rl:column> + <rl:column headerkey="erratalist.jsp.synopsis" + sortable="true" + sortattr="advisorySynopsis" + filterattr="advisorySynopsis"> + ${current.advisorySynopsis} + </rl:column> + <rl:column headerkey="erratalist.jsp.systems" + styleclass="text-align: center;"> + <a href="/rhn/errata/details/SystemsAffected.do?eid=${current.id}">${current.affectedSystemCount}</a> + </rl:column> + <rl:column headerkey="erratalist.jsp.updated" styleclass="text-align: center;"> + ${current.updateDate} + </rl:column> + + </rl:list> + +</rl:listset> diff --git a/java/code/webapp/WEB-INF/pages/errata/overview.jsp b/java/code/webapp/WEB-INF/pages/errata/overview.jsp index 0ceb1dd..f37fec6 100644 --- a/java/code/webapp/WEB-INF/pages/errata/overview.jsp +++ b/java/code/webapp/WEB-INF/pages/errata/overview.jsp @@ -1,4 +1,5 @@ <%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn" %> +<%@ taglib uri="http://rhn.redhat.com/tags/list" prefix="rl" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %> @@ -22,8 +23,8 @@ <p><bean:message key="errata.overview.jsp.summary"/></p>
<h2><bean:message key="errata.jsp.header"/></h2> -<form method="post" name="rhn_list" action="/rhn/errata/OverviewSubmit.do"> + <%@ include file="/WEB-INF/pages/common/fragments/errata/relevant-errata-list.jspf" %> -</form> + </body> </html> diff --git a/java/code/webapp/WEB-INF/pages/errata/relevant.jsp b/java/code/webapp/WEB-INF/pages/errata/relevant.jsp index 5d15734..1dc9466 100644 --- a/java/code/webapp/WEB-INF/pages/errata/relevant.jsp +++ b/java/code/webapp/WEB-INF/pages/errata/relevant.jsp @@ -1,4 +1,5 @@ <%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn" %> +<%@ taglib uri="http://rhn.redhat.com/tags/list" prefix="rl" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %> @@ -18,8 +19,8 @@ helpUrl="/rhn/help/reference/en/s2-sm-applicable-errata.jsp"> <bean:message key="erratalist.jsp.relevanterrata"/> </rhn:toolbar> -<form method="POST" name="rhn_list" action="/rhn/errata/RelevantErrataSubmit.do"> + <%@ include file="/WEB-INF/pages/common/fragments/errata/relevant-errata-list.jspf" %> -</form> + </body> </html> diff --git a/java/code/webapp/WEB-INF/struts-config.xml b/java/code/webapp/WEB-INF/struts-config.xml index 3d57a57..a458c58 100644 --- a/java/code/webapp/WEB-INF/struts-config.xml +++ b/java/code/webapp/WEB-INF/struts-config.xml @@ -1746,35 +1746,19 @@ <action path="/errata/Overview" scope="request" input="/WEB-INF/pages/errata/overview.jsp" - type="com.redhat.rhn.frontend.action.errata.ErrataListRelevantSetupAction"> + type="com.redhat.rhn.frontend.action.errata.ErrataListRelevantAction"> <forward name="default" path="/WEB-INF/pages/errata/overview.jsp"/> </action>
- <action path="/errata/OverviewSubmit" - scope="request" - input="/WEB-INF/pages/errata/overview.jsp" - type="com.redhat.rhn.frontend.action.errata.ErrataListRelevantAction"> - <forward name="default" - path="/errata/Overview.do" redirect="true"/> - </action> - - <action path="/errata/RelevantErrata" + <action path="/errata/RelevantErrata" scope="request" input="/WEB-INF/pages/errata/relevant.jsp" - type="com.redhat.rhn.frontend.action.errata.ErrataListRelevantSetupAction"> + type="com.redhat.rhn.frontend.action.errata.ErrataListRelevantAction"> <forward name="default" path="/WEB-INF/pages/errata/relevant.jsp" /> </action>
- <action path="/errata/RelevantErrataSubmit" - scope="request" - input="/WEB-INF/pages/errata/relevant.jsp" - type="com.redhat.rhn.frontend.action.errata.ErrataListRelevantAction"> - <forward name="default" - path="/errata/RelevantErrata.do" redirect="true"/> - </action> - <action path="/errata/details/Details" scope="request" input="/WEB-INF/pages/errata/details.jsp"
commit a6df9de78711cd78f0dbb62af1a2b7f39c9b9bf9 Author: Jan Pazdziora jpazdziora@redhat.com Date: Tue Mar 24 14:52:18 2009 +0100
Automatic commit of package [oracle-instantclient-selinux] minor release [10.2-8].
diff --git a/rel-eng/packages/oracle-instantclient-selinux b/rel-eng/packages/oracle-instantclient-selinux index a05f88d..c3f8284 100644 --- a/rel-eng/packages/oracle-instantclient-selinux +++ b/rel-eng/packages/oracle-instantclient-selinux @@ -1 +1 @@ -10.2-7 selinux/oracle-instantclient-selinux/ +10.2-8 selinux/oracle-instantclient-selinux/ diff --git a/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec b/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec index a4fbe70..96654fa 100644 --- a/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec +++ b/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec @@ -1,7 +1,7 @@
Name: oracle-instantclient-selinux Version: 10.2 -Release: 7%{?dist} +Release: 8%{?dist} Summary: SELinux support for Oracle Instant Client Group: System Environment/Base License: GPLv2+ @@ -56,6 +56,10 @@ fi %files
%changelog +* Tue Mar 24 2009 Jan Pazdziora 10.2-8 +- make the package noarch since we use wildcards in path +- 491849 - losen the version specification of the Oracle InstantClient + * Mon Feb 9 2009 Jan Pazdziora 10.2-7 - add texrel_shlib_t to libsqlplus.so
commit a0d633103f21c976b5b877c8407f53e0b6a9e700 Author: Jan Pazdziora jpazdziora@redhat.com Date: Tue Mar 24 14:35:58 2009 +0100
oracle-instantclient-selinux: since we use wildcard in path for version, we can use it for client/client64 and make the package noarch.
diff --git a/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec b/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec index c7e3b16..a4fbe70 100644 --- a/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec +++ b/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec @@ -12,6 +12,7 @@ License: GPLv2+ # make srpm TAG=%{name}-%{version}-%{release} URL: http://fedorahosted.org/spacewalk BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch
Requires(post): /usr/sbin/semanage, /sbin/restorecon, /usr/bin/execstack Requires(postun): /usr/sbin/semanage, /sbin/restorecon, /usr/bin/execstack @@ -32,30 +33,24 @@ install -d $RPM_BUILD_ROOT/%{rhnroot} %clean rm -rf $RPM_BUILD_ROOT
-%ifarch x86_64 s390x -%define clientdir client64 -%else -%define clientdir client -%endif - %define used_libs libocci.so.10.1 libclntsh.so.10.1 libnnz10.so libociei.so libsqlplus.so
%post -/usr/sbin/semanage fcontext -a -t oracle_sqlplus_exec_t '/usr/lib/oracle/10.2..*/%{clientdir}/bin/sqlplus' +/usr/sbin/semanage fcontext -a -t oracle_sqlplus_exec_t '/usr/lib/oracle/10.2..*/client.*/bin/sqlplus' for i in %used_libs ; do - /usr/sbin/semanage fcontext -a -t textrel_shlib_t '/usr/lib/oracle/10.2..*/%{clientdir}/lib/'${i//./\.} - /usr/bin/execstack -c /usr/lib/oracle/10.2.*/%{clientdir}/lib/$i + /usr/sbin/semanage fcontext -a -t textrel_shlib_t '/usr/lib/oracle/10.2..*/client.*/lib/'${i//./\.} + /usr/bin/execstack -c /usr/lib/oracle/10.2.*/client*/lib/$i done -/sbin/restorecon -Rvv /usr/lib/oracle/10.2.*/%{clientdir} || : +/sbin/restorecon -Rvv /usr/lib/oracle/10.2.*/client* || :
%postun if [ $1 -eq 0 ]; then - /usr/sbin/semanage fcontext -d -t oracle_sqlplus_exec_t '/usr/lib/oracle/10.2..*/%{clientdir}/bin/sqlplus' + /usr/sbin/semanage fcontext -d -t oracle_sqlplus_exec_t '/usr/lib/oracle/10.2..*/client.*/bin/sqlplus' for i in %used_libs ; do - /usr/sbin/semanage fcontext -d -t textrel_shlib_t '/usr/lib/oracle/10.2..*/%{clientdir}/lib/'${i//./\.} - /usr/bin/execstack -s /usr/lib/oracle/10.2.*/%{clientdir}/lib/$i + /usr/sbin/semanage fcontext -d -t textrel_shlib_t '/usr/lib/oracle/10.2..*/client.*/lib/'${i//./\.} + /usr/bin/execstack -s /usr/lib/oracle/10.2.*/client*/lib/$i done - /sbin/restorecon -Rvv /usr/lib/oracle/10.2.*/%{clientdir} || : + /sbin/restorecon -Rvv /usr/lib/oracle/10.2.*/client* || : fi
%files
commit be478a62aa586c71de0a83eeb77918de0e95e55a Author: Jan Pazdziora jpazdziora@redhat.com Date: Tue Mar 24 14:21:49 2009 +0100
491849 - losen the version specification of the Oracle InstantClient as there are different versions on different arches.
diff --git a/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec b/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec index 1704eef..c7e3b16 100644 --- a/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec +++ b/selinux/oracle-instantclient-selinux/oracle-instantclient-selinux.spec @@ -41,21 +41,21 @@ rm -rf $RPM_BUILD_ROOT %define used_libs libocci.so.10.1 libclntsh.so.10.1 libnnz10.so libociei.so libsqlplus.so
%post -/usr/sbin/semanage fcontext -a -t oracle_sqlplus_exec_t '/usr/lib/oracle/10.2.0.4/%{clientdir}/bin/sqlplus' +/usr/sbin/semanage fcontext -a -t oracle_sqlplus_exec_t '/usr/lib/oracle/10.2..*/%{clientdir}/bin/sqlplus' for i in %used_libs ; do - /usr/sbin/semanage fcontext -a -t textrel_shlib_t '/usr/lib/oracle/10.2.0.4/%{clientdir}/lib/'${i//./\.} - /usr/bin/execstack -c /usr/lib/oracle/10.2.0.4/%{clientdir}/lib/$i + /usr/sbin/semanage fcontext -a -t textrel_shlib_t '/usr/lib/oracle/10.2..*/%{clientdir}/lib/'${i//./\.} + /usr/bin/execstack -c /usr/lib/oracle/10.2.*/%{clientdir}/lib/$i done -/sbin/restorecon -Rvv /usr/lib/oracle/10.2.0.4/%{clientdir} || : +/sbin/restorecon -Rvv /usr/lib/oracle/10.2.*/%{clientdir} || :
%postun if [ $1 -eq 0 ]; then - /usr/sbin/semanage fcontext -d -t oracle_sqlplus_exec_t '/usr/lib/oracle/10.2.0.4/%{clientdir}/bin/sqlplus' + /usr/sbin/semanage fcontext -d -t oracle_sqlplus_exec_t '/usr/lib/oracle/10.2..*/%{clientdir}/bin/sqlplus' for i in %used_libs ; do - /usr/sbin/semanage fcontext -d -t textrel_shlib_t '/usr/lib/oracle/10.2.0.4/%{clientdir}/lib/'${i//./\.} - /usr/bin/execstack -s /usr/lib/oracle/10.2.0.4/%{clientdir}/lib/$i + /usr/sbin/semanage fcontext -d -t textrel_shlib_t '/usr/lib/oracle/10.2..*/%{clientdir}/lib/'${i//./\.} + /usr/bin/execstack -s /usr/lib/oracle/10.2.*/%{clientdir}/lib/$i done - /sbin/restorecon -Rvv /usr/lib/oracle/10.2.0.4/%{clientdir} || : + /sbin/restorecon -Rvv /usr/lib/oracle/10.2.*/%{clientdir} || : fi
%files
commit c7d6fc215e9874b3defc6f8f83b428002b9f6e0e Author: Milan Zazrivec mzazrivec@redhat.com Date: Tue Mar 24 12:06:56 2009 +0100
466747 - On s390x, stty: standard input: Bad file descriptor
oracle-instantclient on s390x sets FD_CLOEXEC on stdin, which causes stty (called from within perl) to error out when doing stty -echo
diff --git a/spacewalk/setup/bin/spacewalk-setup b/spacewalk/setup/bin/spacewalk-setup index d987ac9..00a3690 100644 --- a/spacewalk/setup/bin/spacewalk-setup +++ b/spacewalk/setup/bin/spacewalk-setup @@ -37,6 +37,7 @@ use DateTime; use Sys::Hostname; use Getopt::Long; use Spacewalk::Setup; +use Fcntl qw(F_GETFD F_SETFD FD_CLOEXEC);
use RHN::SatInstall; use RHN::SatCluster; @@ -1120,6 +1121,14 @@ sub setup_monitoring {
my $scout_shared_key = RHN::SatCluster->fetch_key($scout->recid); write_config({ monitoringDOTscout_shared_key => $scout_shared_key }, Spacewalk::Setup::DEFAULT_SATCON_DICT); + + # Bugzilla 466747: On s390x, stty: standard input: Bad file descriptor + # For some reason DBI mistakenly sets FD_CLOEXEC on a stdin file descriptor + # here. This made it impossible for us to succesfully call `stty -echo` + # later in the code. Following two lines work around the problem. + + my $flags = fcntl(STDIN, F_GETFD, 0); + fcntl(STDIN, F_SETFD, $flags & ~FD_CLOEXEC);
return 1; }
commit ec07456b8dd7c87d4ab2ca3c32f18e0a3360e21f Author: Justin Sherrill jsherril@redhat.com Date: Mon Mar 23 18:05:32 2009 -0400
491186 - fixing issue where viewing a kickstart (or any non-authenticated page) over http would invalidate your session, by refreshing your pxt cookie
diff --git a/java/code/src/com/redhat/rhn/frontend/security/PxtAuthenticationService.java b/java/code/src/com/redhat/rhn/frontend/security/PxtAuthenticationService.java index a81d1f3..400a1d8 100644 --- a/java/code/src/com/redhat/rhn/frontend/security/PxtAuthenticationService.java +++ b/java/code/src/com/redhat/rhn/frontend/security/PxtAuthenticationService.java @@ -91,13 +91,18 @@ public class PxtAuthenticationService extends BaseAuthenticationService { * {@inheritDoc} */ public boolean validate(HttpServletRequest request, HttpServletResponse response) { - + //is authentication needed (i.e. is our session valid, and does the url + // we are hitting require auth) if (isAuthenticationRequired(request)) { invalidate(request, response); return false; } - - pxtDelegate.refreshPxtSession(request, response); + //if we are authenticated, and our URL requires auth, refresh + // The session. If the url doesn't require auth + // Don't refresh it, because that may invalidate our old session + if (requestURIRequiresAuthentication(request)) { + pxtDelegate.refreshPxtSession(request, response); + } return true; }
commit 3b1be048609b72a91f0a38051af178f87bc1af3e Author: Brad Buckingham bbuckingham@redhat.com Date: Mon Mar 23 16:04:17 2009 -0400
491021 - api - ensure that repomd regeneration is triggered by APIs
When APIs are invoked that alter the packages contained within a channel, repomd needs to be triggered. This is accomplished by invoking the ChannelManager.queueChannelChange API that was added as part of bz 468781.
While investigating bz 491021, I found that modifications have already been made that will enable this to be triggered for various APIs; therefore, this commit is much smaller than initially expected... :)
Below is a quick summary:
mespace packages:
- removePackage - uses PackageManager.schedulePackageRemoval which already invokes ChannelManager.queueChannelChange
namespace channel.software:
- addPackages - uses ChannelEditor addPackages->changePackages which already invokes ChannelManager.queueChannelChange
- clone - updated NewChannelHelper.clone to queueChannelChange for the newly cloned channel
- create - n/a, since no packages associated at channel creation time..
- delete - uses ChannelManager.deleteChannel which already invokes ChannelManager.queueChannelChange
- mergePackages - updated ChannelSoftwareHandler.mergePackages to invoke queueChannelChange
- removePackages - uses ChannelEditor removePackages->changePackages which already invokes ChannelManager.queueChannelChange
namespace errata: - There aren't any changes needed at this time to the current errata APIs. The reason being the APIs for errata do not alter the content of a channel (ie. no package adds/removes)
Also, updated ErrataFactory.publishErrataPackagesToChannel to invoke ChannelManager.queueChannelChange. This is used when a package is added to a channel as a result of associating the package with Errata.
diff --git a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java index a242baa..6a882ca 100644 --- a/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java +++ b/java/code/src/com/redhat/rhn/domain/channel/NewChannelHelper.java @@ -15,6 +15,7 @@ package com.redhat.rhn.domain.channel;
import com.redhat.rhn.domain.user.User; +import com.redhat.rhn.manager.channel.ChannelManager; import com.redhat.rhn.manager.user.UserManager;
import java.util.Date; @@ -132,7 +133,10 @@ public class NewChannelHelper { ChannelFamilyFactory.lookupByOrg(user.getOrg()).getChannels().add(cloned); cloned.setChannelFamily(ChannelFamilyFactory.lookupByOrg(user.getOrg()));
- + // Mark the affected channel to have it's metadata evaluated, where necessary + // (RHEL5+, mostly) + ChannelManager.queueChannelChange(label, "java::cloneChannel", null); + return cloned; }
diff --git a/java/code/src/com/redhat/rhn/domain/errata/ErrataFactory.java b/java/code/src/com/redhat/rhn/domain/errata/ErrataFactory.java index ac04303..319c48a 100644 --- a/java/code/src/com/redhat/rhn/domain/errata/ErrataFactory.java +++ b/java/code/src/com/redhat/rhn/domain/errata/ErrataFactory.java @@ -309,20 +309,20 @@ public class ErrataFactory extends HibernateFactory {
ChannelFactory.save(chan);
- List chanList = new ArrayList(); chanList.add(chan.getId()); //ErrataCacheManager.updateErrataCacheForChannelsAsync(chanList, user.getOrg()); ErrataCacheManager.insertCacheForChannelErrataAsync(chanList, errata); ChannelManager.refreshWithNewestPackages(chan, "web.errata_push"); - return errata;
+ // Mark the affected channel to have it's metadata evaluated, where necessary + // (RHEL5+, mostly) + ChannelManager.queueChannelChange(chan.getLabel(), + "java::publishErrataPackagesToChannel", user.getLogin());
+ return errata; }
- - - /** * @param org Org performing the cloning * @param e Errata to be cloned diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/channel/software/ChannelSoftwareHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/channel/software/ChannelSoftwareHandler.java index c58286f..0193d00 100644 --- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/channel/software/ChannelSoftwareHandler.java +++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/channel/software/ChannelSoftwareHandler.java @@ -1764,6 +1764,12 @@ public class ChannelSoftwareHandler extends BaseHandler { mergeTo.getPackages().addAll(differentPackages); ChannelFactory.save(mergeTo); ChannelManager.refreshWithNewestPackages(mergeTo, "api"); + + // Mark the affected channel to have it's metadata evaluated, where necessary + // (RHEL5+, mostly) + ChannelManager.queueChannelChange(mergeTo.getLabel(), "java::mergePackages", + loggedInUser.getLogin()); + return differentPackages.toArray(); }
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/errata/ErrataHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/errata/ErrataHandler.java index d1520a2..376c6d7 100644 --- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/errata/ErrataHandler.java +++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/errata/ErrataHandler.java @@ -989,11 +989,11 @@ public class ErrataHandler extends BaseHandler { for (Iterator itr = channelsLabels.iterator(); itr.hasNext();) { String channelLabel = (String) itr.next(); Channel channel = ChannelFactory.lookupByLabelAndUser(channelLabel, user); - ChannelManager.verifyChannelAdmin(user, channel.getId()); if (channel == null) { throw new InvalidChannelLabelException(); } else { + ChannelManager.verifyChannelAdmin(user, channel.getId()); resolvedList.add(channel); } } diff --git a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java index 6ccb038..0047711 100644 --- a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java +++ b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java @@ -809,7 +809,7 @@ public class ChannelManager extends BaseManager { "api.channel.delete.haschild")); } ChannelManager.queueChannelChange(label, - "java::deleteChannel", user.getLogin()); + user.getLogin(), "java::deleteChannel"); ChannelFactory.remove(toRemove); } }
commit 7b5a156fb43b149c22632d5078c7b0a8b89443d4 Author: Justin Sherrill jsherril@redhat.com Date: Mon Mar 23 15:26:55 2009 -0400
248017 - adding config to apache to not display version in error pages or in HEAD requests
diff --git a/spacewalk/config/etc/httpd/conf.d/zz-spacewalk-www.conf b/spacewalk/config/etc/httpd/conf.d/zz-spacewalk-www.conf index 481cdef..8322c39 100644 --- a/spacewalk/config/etc/httpd/conf.d/zz-spacewalk-www.conf +++ b/spacewalk/config/etc/httpd/conf.d/zz-spacewalk-www.conf @@ -70,6 +70,9 @@ RedirectMatch ^/index.html$ /rhn/Login.do RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F]
+ServerTokens Prod +ServerSignature Off + # This rule handles incoming kickstart file requests from # machines actually performing a kickstart. This rule # processes the incoming URL and converts it into something
commit 066f3d0a981ae2c43c021bf63825a56119605fe9 Author: Justin Sherrill jsherril@redhat.com Date: Mon Mar 23 14:55:01 2009 -0400
491642 - fixing null pointer exception that occurs when trying to select everything on a page where everything is already selected
diff --git a/java/code/src/com/redhat/rhn/frontend/action/rhnset/SetItemSelectionAction.java b/java/code/src/com/redhat/rhn/frontend/action/rhnset/SetItemSelectionAction.java index f04eb1f..3fdef7d 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/rhnset/SetItemSelectionAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/rhnset/SetItemSelectionAction.java @@ -69,6 +69,10 @@ public class SetItemSelectionAction extends RhnAction { String checked = req.getParameter(CHECKED); boolean isOn = checked.equals("on");
+ if (which == null) { + return null; + } + if (SessionSetHelper.exists(req, setLabel)) { Set<String> set = SessionSetHelper.lookupAndBind(req, setLabel);
commit 83c67218217b5653fc60684678dc030636203016 Author: Jason Dobies jason.dobies@redhat.com Date: Mon Mar 23 14:52:48 2009 -0400
More documentation of the new list tag components
diff --git a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java index 264832e..abb7e45 100644 --- a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java +++ b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java @@ -36,9 +36,13 @@ import com.redhat.rhn.manager.rhnset.RhnSetManager; * the items selected in the page are stored. For more information, see * {@link #setup(RhnSetDecl)} and <a href="https://fedorahosted.org/spacewalk/wiki/ListTag"> * the Spacewalk wiki.</a> + * <p/> + * If the user selected items should be stored in a session rather than the database, + * use {@link ListSessionSetHelper} instead. * * @author paji * @version $Rev$ + * @see ListSessionSetHelper */ public class ListRhnSetHelper extends ListSetHelper {
diff --git a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListSessionSetHelper.java b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListSessionSetHelper.java index b256c47..0eeff83 100644 --- a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListSessionSetHelper.java +++ b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListSessionSetHelper.java @@ -15,114 +15,130 @@
package com.redhat.rhn.frontend.taglibs.list.helper;
-import com.redhat.rhn.frontend.struts.RequestContext; -import com.redhat.rhn.frontend.struts.SessionSetHelper; - -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; - import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; - import javax.servlet.http.HttpServletRequest; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; +import com.redhat.rhn.frontend.struts.RequestContext; +import com.redhat.rhn.frontend.struts.SessionSetHelper;
/** + * Used in creating web session backed actions that tie into the "new" list tag (i.e. in the + * http://rhn.redhat.com/tags/list taglib namespace). + * <p/> + * If the user selected items need to be more persistant than simply the session, use + * {@link ListRhnSetHelper} instead. + * * @author paji - * ListSessionSetHelper.java * @version $Rev$ + * @see ListRhnSetHelper */ public class ListSessionSetHelper extends ListSetHelper { - private Set set; + + /** Holds on to the user selected items. */ + private Set<String> set; + + /** + * Helper instance, keyed to the request at instantiation, used for working with + * the list itself. + */ private SessionSetHelper helper; + + /** Effectively the name of the data set, used to keep different sets of data unique. */ private String decl; - + /** - * constructor - * @param inp listable - * @param req the servlet request - * @param params the parameter map for this request - * @param declPrefix the declaration prefix - * needed to make this set declaration unique. + * Creates a new <code>ListSessionSetHelper</code> that will use the given prefix + * as the uniqueness indicator for tracking the set data. + * <p/> + * It is important that if the value chosen for the prefix is unique across all actions + * to prevent a conflict in storing user selected values. + * + * @param inp listable + * @param req the servlet request + * @param params the parameter map for this request + * @param declPrefix the declaration prefix needed to make this set declaration unique */ - public ListSessionSetHelper(Listable inp, HttpServletRequest req, - Map params, String declPrefix) { + public ListSessionSetHelper(Listable inp, HttpServletRequest req, + Map params, String declPrefix) { super(inp, req, params); setup(declPrefix); - }
- /** - * constructor - * @param inp listable - * @param req the servlet request + * Creates a new <code>ListSessionSetHelper</code> that will attempt to generate + * its own unique name for the set combined with the values of the request parameters. + * <p/> + * Using a combination of a standard prefix (determined by the <code>Listable</code> + * parameter value) and parameters helps to scope this instance for a dynamic page. + * For instance, if the page is scoped to a particular channel, having the channel ID + * in this parameter map will allow the user to work with in the same section of two + * different channels without the selections in each list interfering with each other. + * + * @param inp listable + * @param req the servlet request * @param params the parameter map for this request */ public ListSessionSetHelper(Listable inp, HttpServletRequest req, Map params) { - this (inp, req, params, inp.getClass().getName()); + this(inp, req, params, inp.getClass().getName()); }
/** - * constructor + * Creates a new <code>ListSessionSetHelper</code> that will attempt to generate + * its own unique name for the set. This call is suitable when there are no request + * parameters of interest for the page. + * * @param inp listable * @param req the servlet request */ public ListSessionSetHelper(Listable inp, HttpServletRequest req) { this(inp, req, Collections.EMPTY_MAP); } - - @Override - protected void clear() { - set.clear(); - } - - /** - * Objliterates the set from the session - */ - @Override - public void destroy() { - SessionSetHelper.obliterate(getContext().getRequest(), getDecl()); + + /** {@inheritDoc} */ + public void destroy() { + SessionSetHelper.obliterate(getContext().getRequest(), getDecl()); }
- @Override - protected void execute(List dataSet) { - helper.execute(set, getListName(), dataSet); + /** {@inheritDoc} */ + public String getDecl() { + return decl; } - - private void setup(String prefix) { - RequestContext context = getContext(); - helper = new SessionSetHelper(context.getRequest()); - - if (StringUtils.isBlank(prefix)) { - prefix = getListable().getClass().getName(); - } - decl = prefix; - - Map params = getParamMap(); - if (!params.isEmpty()) { - decl = decl + params.hashCode(); - } - - set = SessionSetHelper.lookupAndBind(context.getRequest(), - decl);
+ /** {@inheritDoc} */ + public Collection getAddedKeys() { + Set preSelected = getPreSelected(); + Collection result = CollectionUtils.subtract(preSelected, set); + return result; }
/** {@inheritDoc} */ - @Override - public String getDecl() { - return decl; + public Collection getRemovedKeys() { + Set preSelected = getPreSelected(); + Collection result = CollectionUtils.subtract(set, preSelected); + return result; + } + + /** + * Returns the set that was used to store user selected items. This is the actual set + * itself; a copy should be made before attempting to manipulate the contents. + * + * @return will not be <code>null</code> + */ + public Set<String> getSet() { + return set; } - - @Override + + /** {@inheritDoc} */ protected Map getSelections() { - Map selections = new HashMap<Long, Long>(); + Map<Long, Long> selections = new HashMap<Long, Long>(); for (Object id : set) { Long item = Long.valueOf(id.toString()); selections.put(item, item); @@ -130,45 +146,59 @@ public class ListSessionSetHelper extends ListSetHelper { return selections; }
- @Override + /** {@inheritDoc} */ protected int size() { return set.size(); }
- @Override + /** {@inheritDoc} */ protected void syncSelections(List dataSet) { helper.syncSelections(set, dataSet); }
- @Override + /** {@inheritDoc} */ protected void update() { helper.updateSet(set, getListName()); } - /** - * @return returns the set assoctiated to this class - */ - public Set <String> getSet() { - return set; - } - - @Override + + /** {@inheritDoc} */ protected void add(Set c) { set.addAll(c); } - + + /** {@inheritDoc} */ + protected void clear() { + set.clear(); + } + + /** {@inheritDoc} */ + protected void execute(List dataSet) { + helper.execute(set, getListName(), dataSet); + } + /** - * {@inheritDoc} + * Initializes this instance, determining the name of the set that will be used + * and instantiating it. + * + * @param prefix basis for the generation of a unique set name */ - @Override - public Collection getAddedKeys() { - return CollectionUtils.subtract(getPreSelected(), set); + private void setup(String prefix) { + RequestContext context = getContext(); + helper = new SessionSetHelper(context.getRequest()); + + if (StringUtils.isBlank(prefix)) { + prefix = getListable().getClass().getName(); + } + decl = prefix; + + Map params = getParamMap(); + if (!params.isEmpty()) { + decl = decl + params.hashCode(); + } + + set = SessionSetHelper.lookupAndBind(context.getRequest(), + decl); + }
- /** - * {@inheritDoc} - */ - @Override - public Collection getRemovedKeys() { - return CollectionUtils.subtract(set, getPreSelected()); - } }
commit 3466909ff9eca28ef7425fea5eef6498e543606c Author: Jason Dobies jason.dobies@redhat.com Date: Mon Mar 23 14:22:53 2009 -0400
Documenting pieces of the new list tag
diff --git a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java index 0cb5f12..264832e 100644 --- a/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java +++ b/java/code/src/com/redhat/rhn/frontend/taglibs/list/helper/ListRhnSetHelper.java @@ -14,147 +14,190 @@ */ package com.redhat.rhn.frontend.taglibs.list.helper;
-import com.redhat.rhn.domain.rhnset.RhnSet; -import com.redhat.rhn.frontend.struts.RequestContext; -import com.redhat.rhn.frontend.struts.RhnListSetHelper; -import com.redhat.rhn.manager.rhnset.RhnSetDecl; -import com.redhat.rhn.manager.rhnset.RhnSetManager; - -import org.apache.commons.collections.CollectionUtils; - import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; - import javax.servlet.http.HttpServletRequest; +import org.apache.commons.collections.CollectionUtils; +import com.redhat.rhn.domain.rhnset.RhnSet; +import com.redhat.rhn.frontend.struts.RequestContext; +import com.redhat.rhn.frontend.struts.RhnListSetHelper; +import com.redhat.rhn.manager.rhnset.RhnSetDecl; +import com.redhat.rhn.manager.rhnset.RhnSetManager;
/** + * Used in creating rhnSet backed actions that tie into the "new" list tag (i.e. in the + * http://rhn.redhat.com/tags/list taglib namespace). + * <p/> + * It is important to note that the exact set specified at instantiation may not be where + * the items selected in the page are stored. For more information, see + * {@link #setup(RhnSetDecl)} and <a href="https://fedorahosted.org/spacewalk/wiki/ListTag"> + * the Spacewalk wiki.</a> + * * @author paji * @version $Rev$ */ public class ListRhnSetHelper extends ListSetHelper { + + /** + * The actual set that will store the user selected entries in the list. This set + * is created from the {@link #decl} attribute of the instance. + */ private RhnSet set; - private RhnListSetHelper helper; + + /** + * Declaration of the set used to store user selected entries. See + * {@link #setup(RhnSetDecl)} for details on how this declaration is determined. + */ private RhnSetDecl decl; - + + /** + * Helper instance, keyed to the request at instantiation, used for working with + * the list itself. + */ + private RhnListSetHelper helper; + /** - * Contructor - * @param inp the listable + * Creates a new <code>ListRhnSetHelper</code> that will store its selected items + * in a custom <code>RhnSet</code> determined by the given <code>RhnSetDecl</code> + * plus the parameters in <code>params</code> + * <p/> + * Using a combination of the <code>RhnSetDecl</code> and parameters helps to scope + * this instance for a dynamic page. For instance, if the page is scoped to a particular + * channel, having the channel ID in this parameter map will allow the user to work + * with in the same section of two different channels without the selections in each + * list interfering with each other. + * + * @param inp the listable * @param request the servlet request - * @param declIn declaration - * @param params the parameter map for this request + * @param declIn declaration + * @param params the parameter map for this request */ public ListRhnSetHelper(Listable inp, HttpServletRequest request, - RhnSetDecl declIn, Map params) { + RhnSetDecl declIn, Map params) { super(inp, request, params); setup(declIn); } - - + + /** - * Contructor - * @param inp the listable + * Creates a new <code>ListRhnSetHelper</code> that will store its selected items + * in an <code>RhnSet</code> retrieved from the given <code>RhnSetDecl</code>. Care + * should be taken in using this call to ensure there will only be one set of data + * in this list at a time (see + * {@link #ListRhnSetHelper(Listable, HttpServletRequest, RhnSetDecl, Map)} for a + * use case in which this constructor would not be applicable). + * + * @param inp the listable * @param request the servlet request - * @param declIn declaration + * @param declIn declaration */ public ListRhnSetHelper(Listable inp, HttpServletRequest request, - RhnSetDecl declIn) { + RhnSetDecl declIn) { this(inp, request, declIn, Collections.EMPTY_MAP); - } - @Override - protected void clear() { - set.clear(); - RhnSetManager.store(set); }
- private void setup(RhnSetDecl declIn) { - RequestContext context = getContext(); - Map params = getParamMap(); - if (params.isEmpty()) { - decl = declIn; - } - else { - decl = declIn.createCustom(params.entrySet().toArray()); - } - - set = decl.get(context.getLoggedInUser()); - helper = new RhnListSetHelper(context.getRequest()); - } /** - * clears the set - * */ - @Override - public void destroy() { - clear(); + * Returns the actual <code>RhnSet</code> that was used to persist the user + * selected items. + * + * @return will not be <code>null</code> + */ + public RhnSet getSet() { + return set; } - @Override - protected void execute(List dataSet) { - helper.execute(set, getListName(), dataSet); + + /** {@inheritDoc} */ + public void destroy() { + clear(); }
/** {@inheritDoc} */ - @Override public String getDecl() { return decl.getLabel(); }
- @Override + /** {@inheritDoc} */ + public Collection getAddedKeys() { + Set preSelectedValues = getPreSelected(); + Set setValues = set.getElementValues(); + Collection result = CollectionUtils.subtract(preSelectedValues, setValues); + return result; + } + + /** {@inheritDoc} */ + public Collection getRemovedKeys() { + Set setValues = set.getElementValues(); + Set preSelectedValues = getPreSelected(); + Collection result = CollectionUtils.subtract(setValues, preSelectedValues); + return result; + } + + /** {@inheritDoc} */ + protected void execute(List dataSet) { + helper.execute(set, getListName(), dataSet); + } + + /** {@inheritDoc} */ protected Map getSelections() { - Map <Long, Long> selections = new HashMap<Long, Long>(); + Map<Long, Long> selections = new HashMap<Long, Long>(); for (Long id : set.getElementValues()) { selections.put(id, id); } return selections; }
- @Override + /** {@inheritDoc} */ protected int size() { return set.size(); }
- @Override + /** {@inheritDoc} */ protected void syncSelections(List dataSet) { helper.syncSelections(set, dataSet); - + }
- @Override + /** {@inheritDoc} */ protected void update() { helper.updateSet(set, getListName()); } - - /** - * - * @return returns the rhnset associated to set - */ - public RhnSet getSet() { - return set; - }
- @Override + /** {@inheritDoc} */ protected void add(Set c) { - for (Object elem : c) { - set.addElement((Long)elem); + for (Object elem : c) { + set.addElement((Long) elem); } RhnSetManager.store(set); } - - /** - * {@inheritDoc} - */ - @Override - public Collection getAddedKeys() { - return CollectionUtils.subtract(getPreSelected(), set.getElementValues()); + + /** {@inheritDoc} */ + protected void clear() { + set.clear(); + RhnSetManager.store(set); } - + /** - * {@inheritDoc} + * Initializes this instance, determining the name of the set that will be used and + * loading it. + * + * @param declIn basis for the set used to store user selections */ - @Override - public Collection getRemovedKeys() { - return CollectionUtils.subtract(set.getElementValues(), getPreSelected()); + private void setup(RhnSetDecl declIn) { + RequestContext context = getContext(); + Map params = getParamMap(); + if (params.isEmpty()) { + decl = declIn; + } + else { + decl = declIn.createCustom(params.entrySet().toArray()); + } + + set = decl.get(context.getLoggedInUser()); + helper = new RhnListSetHelper(context.getRequest()); } + }
commit dd7fd8e6b221a46d1892eca6fb9b4f4ae1d3442c Author: Justin Sherrill jsherril@redhat.com Date: Mon Mar 23 13:48:49 2009 -0400
having kickstart generation use $redhat_management_key instead of @@http_server@@
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java index 23fc674..7f664b0 100644 --- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java +++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java @@ -146,6 +146,7 @@ public class KickstartFormatter { //wregglej, 9/22/06 Temporary workarounds for a broken wget. private static final String CHDIR_OPT_RPMS = "cd /tmp/rhn_rpms/optional "; private static final String CHDIR_RPMS = "cd /tmp/rhn_rpms"; + private static final String REDHAT_MGMT_SERVER = "$redhat_management_server";
private boolean seenNoChroot = false; private KickstartData ksdata; @@ -579,8 +580,8 @@ public class KickstartFormatter { this.ksHost + "] indexof: " + this.ksHost.indexOf(XMLRPC_HOST)); } - - String up2datehost = this.ksHost; + + String up2datehost = REDHAT_MGMT_SERVER; //check if server going through RHN Proxy, if so, register through proxy instead if (this.session != null && this.session.getSystemRhnHost() != null &&
commit 3e1bc16744a3d816dbedd7d91939ab75618c5de1 Author: Pradeep Kilambi pkilambi@redhat.com Date: Mon Mar 23 12:38:06 2009 -0400
487621 - applying jbowe's patch to fix seg faults rhnpush has been causing server-side on F10
diff --git a/backend/common/rhn_rpm.py b/backend/common/rhn_rpm.py index a7a9baf..93b87d5 100644 --- a/backend/common/rhn_rpm.py +++ b/backend/common/rhn_rpm.py @@ -189,6 +189,57 @@ class RPM_Header: 'signature' : ret, })
+def get_header_byte_range(package_file): + """ + Return the start and end bytes of the rpm header object. + + For details of the rpm file format, see: + http://www.rpm.org/max-rpm/s1-rpm-file-format-rpm-file-format.html + """ + + lead_size = 96 + + # Move past the rpm lead + package_file.seek(lead_size) + + sig_size = get_header_struct_size(package_file) + + # Now we can find the start of the actual header. + header_start = lead_size + sig_size + + package_file.seek(header_start) + + header_size = get_header_struct_size(package_file) + + header_end = header_start + header_size + + return (header_start, header_end) + +def get_header_struct_size(package_file): + """ + Compute the size in bytes of the rpm header struct starting at the current + position in package_file. + """ + # Move past the header preamble + package_file.seek(8, 1) + + # Read the number of index entries + header_index = package_file.read(4) + (header_index_value, ) = struct.unpack('>I', header_index) + + # Read the the size of the header data store + header_store = package_file.read(4) + (header_store_value, ) = struct.unpack('>I', header_store) + + # The total size of the header. Each index entry is 16 bytes long. + header_size = 8 + 4 + 4 + header_index_value * 16 + header_store_value + + # Headers end on an 8-byte boundary. Round out the extra data. + round_out = header_size % 8 + if round_out != 0: + header_size = header_size + (8 - round_out) + + return header_size
# Loads the package header from a file / stream / file descriptor # Raises rpm.error if an error is found, or InvalidPacageError if package is @@ -217,12 +268,10 @@ def get_package_header(filename=None, file=None, fd=None): if hdr is None: raise InvalidPackageError else: - ts = RPMReadOnlyTransaction() - nomd5 = getattr(rpm, 'RPMVSF_NOMD5') - needpayload = getattr(rpm, 'RPMVSF_NEEDPAYLOAD') - ts.pushVSFlags(~(nomd5 | needpayload)) - hdr = RPMReadOnlyTransaction().hdrFromFdno(file_desc) - ts.popVSFlags() + header_start, header_end = \ + get_header_byte_range(os.fdopen(os.dup(file_desc))) + os.lseek(file_desc, header_start, 0) + hdr, offset = rpm.readHeaderFromFD(file_desc) if hdr is None: raise InvalidPackageError is_source = hdr[getattr(rpm, 'RPMTAG_SOURCEPACKAGE')] diff --git a/backend/satellite_tools/satComputePkgHeaders.py b/backend/satellite_tools/satComputePkgHeaders.py index 7aca36d..1e50779 100644 --- a/backend/satellite_tools/satComputePkgHeaders.py +++ b/backend/satellite_tools/satComputePkgHeaders.py @@ -55,7 +55,7 @@ sys.modules["_apache"] = sys.modules["__main__"]
from server import rhnSQL -from server import rhnPackageUpload +from common import rhn_rpm
options_table = [ Option("-v", "--verbose", action="count", @@ -205,7 +205,7 @@ class Runner: continue
try: - (header_start, header_end) = rhnPackageUpload.get_header_byte_range(p_file); + (header_start, header_end) = rhn_rpm.get_header_byte_range(p_file); except Exception, e: print "Error reading header size from file %s: %s" % (path, e)
diff --git a/backend/server/rhnPackageUpload.py b/backend/server/rhnPackageUpload.py index b81e98d..92599d7 100644 --- a/backend/server/rhnPackageUpload.py +++ b/backend/server/rhnPackageUpload.py @@ -16,11 +16,11 @@ # $Id$
import os -import struct import tempfile from mod_python import apache
from common import CFG, log_debug, rhnFault, rhn_mpm, rhnLib, UserDictCase +from common.rhn_rpm import get_header_byte_range
from server import rhnSQL from server.importlib import importLib, userAuth, mpmSource, backendOracle, \ @@ -376,59 +376,6 @@ def load_package(package_stream):
return header, payload_stream, md5sum, header_start, header_end
-def get_header_byte_range(package_file): - """ - Return the start and end bytes of the rpm header object. - - For details of the rpm file format, see: - http://www.rpm.org/max-rpm/s1-rpm-file-format-rpm-file-format.html - """ - - lead_size = 96 - - # Move past the rpm lead - package_file.seek(lead_size) - - sig_size = get_header_struct_size(package_file) - - # Now we can find the start of the actual header. - header_start = lead_size + sig_size - - package_file.seek(header_start) - - header_size = get_header_struct_size(package_file) - - header_end = header_start + header_size - - return (header_start, header_end) - -def get_header_struct_size(package_file): - """ - Compute the size in bytes of the rpm header struct starting at the current - position in package_file. - """ - # Move past the header preamble - package_file.seek(8, 1) - - # Read the number of index entries - header_index = package_file.read(4) - (header_index_value, ) = struct.unpack('>I', header_index) - - # Read the the size of the header data store - header_store = package_file.read(4) - (header_store_value, ) = struct.unpack('>I', header_store) - - # The total size of the header. Each index entry is 16 bytes long. - header_size = 8 + 4 + 4 + header_index_value * 16 + header_store_value - - # Headers end on an 8-byte boundary. Round out the extra data. - round_out = header_size % 8 - if round_out != 0: - header_size = header_size + (8 - round_out) - - return header_size - - class AlreadyUploadedError(Exception): pass
commit 7b3475dac930f1ab624e2a123b7afbbaf2dd0e1c Author: Justin Sherrill jsherril@redhat.com Date: Mon Mar 23 12:30:08 2009 -0400
adding java doc to EnforcementDoclet
diff --git a/java/code/internal/src/com/redhat/rhn/internal/doclet/EnforcementDoclet.java b/java/code/internal/src/com/redhat/rhn/internal/doclet/EnforcementDoclet.java index dbba278..4b7140c 100644 --- a/java/code/internal/src/com/redhat/rhn/internal/doclet/EnforcementDoclet.java +++ b/java/code/internal/src/com/redhat/rhn/internal/doclet/EnforcementDoclet.java @@ -28,7 +28,13 @@ import java.util.List;
/** * - * TestDoclet + * EnforcementDoclet + * + * This doclet checks to make sure that we do not have any non static or final member + * variables in our Actions + * + * Exceptions can be added in initializeExceptions() + * * @version $Rev$ */ public class EnforcementDoclet {
commit b74f29746aa5f6fd1977e19c029dfbe40bc3c932 Author: Justin Sherrill jsherril@redhat.com Date: Mon Mar 23 12:12:45 2009 -0400
checkstyle fix
diff --git a/java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java b/java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java index c7fc40c..0377146 100644 --- a/java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java +++ b/java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java @@ -345,7 +345,8 @@ public class ErrataCacheManager extends HibernateFactory { count = m.executeUpdate(params, pids); } if (log.isDebugEnabled()) { - log.debug("updateCacheForChannelErrata : " + "cache entries inserted: " + count); + log.debug("updateCacheForChannelErrata : " + "cache entries inserted: " + + count); }
}
commit 878d471ae9825cf2ec24edfe6046347f4af5d072 Author: Justin Sherrill jsherril@redhat.com Date: Mon Mar 23 12:07:04 2009 -0400
adding isDebugEnabled() to debug statements
diff --git a/java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java b/java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java index 78789cb..c7fc40c 100644 --- a/java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java +++ b/java/code/src/com/redhat/rhn/manager/errata/cache/ErrataCacheManager.java @@ -344,7 +344,9 @@ public class ErrataCacheManager extends HibernateFactory { "insert_new_cache_entries_by_packages"); count = m.executeUpdate(params, pids); } - log.debug("updateCacheForChannelErrata : " + "cache entries inserted: " + count); + if (log.isDebugEnabled()) { + log.debug("updateCacheForChannelErrata : " + "cache entries inserted: " + count); + }
}
@@ -366,7 +368,9 @@ public class ErrataCacheManager extends HibernateFactory { Map params = new HashMap(); params.put("channel_id", cid); count = m.executeUpdate(params, eids); - log.debug("updateCacheForChannelErrata : " + "cache entries deleted: " + count); + if (log.isDebugEnabled()) { + log.debug("updateCacheForChannelErrata : " + "cache entries deleted: " + count); + } }
/** @@ -385,7 +389,9 @@ public class ErrataCacheManager extends HibernateFactory { Map params = new HashMap(); params.put("errata_id", eid); count = m.executeUpdate(params, pids); - log.debug("updateCacheForChannelErrata : " + "cache entries deleted: " + count); + if (log.isDebugEnabled()) { + log.debug("updateCacheForChannelErrata : " + "cache entries deleted: " + count); + } }
@@ -404,8 +410,10 @@ public class ErrataCacheManager extends HibernateFactory { Map params = new HashMap(); params.put("channel_id", cid); int count = m.executeUpdate(params); - log.debug("updateErrataAndPackageCacheForChannel : " + "package_cache deleted: " + - count); + if (log.isDebugEnabled()) { + log.debug("updateErrataAndPackageCacheForChannel : " + + "package_cache deleted: " + count); + }
// Insert into rhnServerNeededPackageCache m = ModeFactory.getWriteMode("ErrataCache_queries", @@ -413,8 +421,10 @@ public class ErrataCacheManager extends HibernateFactory { params = new HashMap(); params.put("channel_id", cid); count = m.executeUpdate(params); - log.debug("updateErrataAndPackageCacheForChannel : " + "package_cache inserted: " + - count); + if (log.isDebugEnabled()) { + log.debug("updateErrataAndPackageCacheForChannel : " + + "package_cache inserted: " + count); + }
}
@@ -431,8 +441,10 @@ public class ErrataCacheManager extends HibernateFactory { Map params = new HashMap(); params.put("channel_id", cid); int count = m.executeUpdate(params, pids); - log.debug("delete_needed_cache_for_channel_packages : " + + if (log.isDebugEnabled()) { + log.debug("delete_needed_cache_for_channel_packages : " + "package_cache deleted: " + count); + }
}
commit 56d1294157020f6407cf4c2dede286ac8d07cd97 Author: Jason Dobies jason.dobies@redhat.com Date: Mon Mar 23 11:32:34 2009 -0400
Removed unnecessary usage of rhnServer table in the subselect
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml index fc81538..00d22be 100644 --- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml +++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml @@ -286,13 +286,11 @@ INNER JOIN rhnClientCapabilityName CCN on CC.capability_name_id = CCN.id WHERE USP.user_id = :user_id AND CCN.name LIKE 'configfiles%' AND S.id in ( - SELECT SS.id - FROM rhnServer SS, - rhnServerGroupMembers MM, + SELECT MM.server_id + FROM rhnServerGroupMembers MM, rhnServerGroup GG, rhnServerGroupType TT - WHERE SS.id = MM.server_id - AND MM.server_group_id = GG.id + WHERE MM.server_group_id = GG.id AND GG.group_type = TT.id AND TT.label = 'provisioning_entitled' )
commit 2dfde55fc85657de8af6f0479f3f1781e09d24cd Author: Jason Dobies jason.dobies@redhat.com Date: Mon Mar 23 09:49:30 2009 -0400
487316 - Forgot to add the constraint to the initial create scripts
diff --git a/schema/spacewalk/rhnsat/tables/rhnReleaseChannelMap.sql b/schema/spacewalk/rhnsat/tables/rhnReleaseChannelMap.sql index 471373b..bb950df 100644 --- a/schema/spacewalk/rhnsat/tables/rhnReleaseChannelMap.sql +++ b/schema/spacewalk/rhnsat/tables/rhnReleaseChannelMap.sql @@ -39,3 +39,8 @@ create index rhn_rcm_prod_ver_rel_caid_idx tablespace [[64k_tbs]] ;
+alter table rhnReleaseChannelMap +add constraint rhn_rcm_pva_def_uniq +unique (product, version, channel_arch_id, is_default) +; +
commit 86f980c55552c7402d9d8a508ce367b3d9b3257b Author: Devan Goodwin dgoodwin@redhat.com Date: Mon Mar 23 09:53:55 2009 -0300
Automatic commit of package [smartpm] release [0.2-1].
diff --git a/client/solaris/smartpm/smartpm.spec b/client/solaris/smartpm/smartpm.spec index 7f636b1..615ad2c 100644 --- a/client/solaris/smartpm/smartpm.spec +++ b/client/solaris/smartpm/smartpm.spec @@ -9,8 +9,8 @@ Summary: Next generation package handling tool Name: smartpm Source0: smartpm-%{version}.tar.gz -Version: 0.1 -Release: 0 +Version: 0.2 +Release: 1 License: GPLv2 Group: Applications/System URL: http://www.smartpm.org/ @@ -59,7 +59,7 @@ env %{__python} setup.py build %{python_sitearch}/rhn/actions/solarispkgs.py*
%changelog -* Mon Mar 23 2009 Devan Goodwin dgoodwin@redhat.com 0.1-0 +* Mon Mar 23 2009 Devan Goodwin dgoodwin@redhat.com 0.2-1 - Rebuild from Spacewalk git.
* Mon Jun 23 2005 Joel Martin jmartin@redhat.com - 4.0.0-6 diff --git a/rel-eng/packages/smartpm b/rel-eng/packages/smartpm index 527cb18..45ef377 100644 --- a/rel-eng/packages/smartpm +++ b/rel-eng/packages/smartpm @@ -1 +1 @@ -0.1-0 client/solaris/smartpm/ +0.2-1 client/solaris/smartpm/
commit f3ca7b1b6be4cfe7b36c329dbfc5c3bfca299aa8 Author: Devan Goodwin dgoodwin@redhat.com Date: Mon Mar 23 09:52:46 2009 -0300
Automatic commit of package [rhnclient] release [0.3-1].
diff --git a/client/solaris/rhnclient/rhnclient.spec b/client/solaris/rhnclient/rhnclient.spec index 5c87524..17b5a5d 100644 --- a/client/solaris/rhnclient/rhnclient.spec +++ b/client/solaris/rhnclient/rhnclient.spec @@ -5,7 +5,7 @@ Summary: Red Hat Network Client Utilities and Libraries Name: rhnclient Source0: %{name}-%{version}.tar.gz -Version: 0.2 +Version: 0.3 Release: 1 License: GPLv2 Group: Development/Libraries @@ -65,7 +65,7 @@ rm -rf $RPM_BUILD_ROOT #%doc ChangeLog COPYING README TODO
%changelog -* Mon Mar 23 2009 Devan Goodwin dgoodwin@redhat.com 0.2-1 +* Mon Mar 23 2009 Devan Goodwin dgoodwin@redhat.com 0.3-1 - Rebuild from spacewalk.git.
* Fri Jul 01 2005 Joel Martin jmartin@redhat.com 4.0.0-8 diff --git a/rel-eng/packages/rhnclient b/rel-eng/packages/rhnclient index 6365e9f..97d5278 100644 --- a/rel-eng/packages/rhnclient +++ b/rel-eng/packages/rhnclient @@ -1 +1 @@ -0.2-1 client/solaris/rhnclient/ +0.3-1 client/solaris/rhnclient/
commit 9505cde673dbef7304f52626c22a045c09cef57c Author: Devan Goodwin dgoodwin@redhat.com Date: Mon Mar 23 09:52:23 2009 -0300
Remove rhnclient and smartpm version files.
diff --git a/client/solaris/rhnclient/version b/client/solaris/rhnclient/version deleted file mode 100644 index b5befbc..0000000 --- a/client/solaris/rhnclient/version +++ /dev/null @@ -1 +0,0 @@ -0.1 0 diff --git a/client/solaris/smartpm/version b/client/solaris/smartpm/version deleted file mode 100644 index b5befbc..0000000 --- a/client/solaris/smartpm/version +++ /dev/null @@ -1 +0,0 @@ -0.1 0
commit 80f29f7f97d982267df6fd3100696c3f9ab1ea3c Author: Devan Goodwin dgoodwin@redhat.com Date: Mon Mar 23 09:51:18 2009 -0300
Remove use of version file in spec.
diff --git a/client/solaris/smartpm/smartpm.spec b/client/solaris/smartpm/smartpm.spec index b9f9421..7f636b1 100644 --- a/client/solaris/smartpm/smartpm.spec +++ b/client/solaris/smartpm/smartpm.spec @@ -9,9 +9,8 @@ Summary: Next generation package handling tool Name: smartpm Source0: smartpm-%{version}.tar.gz -Source1: version -Version: %(echo `awk '{ print $1 }' %{SOURCE1}`) -Release: %(echo `awk '{ print $2 }' %{SOURCE1}`) +Version: 0.1 +Release: 0 License: GPLv2 Group: Applications/System URL: http://www.smartpm.org/
commit 981acb2b45e3650270e60d218bf442650f638092 Author: Devan Goodwin dgoodwin@redhat.com Date: Mon Mar 23 09:50:23 2009 -0300
Automatic commit of package [smartpm] release [0.1-0].
diff --git a/client/solaris/smartpm/smartpm.spec b/client/solaris/smartpm/smartpm.spec index f6334d4..b9f9421 100644 --- a/client/solaris/smartpm/smartpm.spec +++ b/client/solaris/smartpm/smartpm.spec @@ -60,6 +60,9 @@ env %{__python} setup.py build %{python_sitearch}/rhn/actions/solarispkgs.py*
%changelog +* Mon Mar 23 2009 Devan Goodwin dgoodwin@redhat.com 0.1-0 +- Rebuild from Spacewalk git. + * Mon Jun 23 2005 Joel Martin jmartin@redhat.com - 4.0.0-6 - Fix Solaris patch db bug
diff --git a/rel-eng/packages/smartpm b/rel-eng/packages/smartpm new file mode 100644 index 0000000..527cb18 --- /dev/null +++ b/rel-eng/packages/smartpm @@ -0,0 +1 @@ +0.1-0 client/solaris/smartpm/
commit e0683850a664fce11c9b9d1c27503fff2a78597f Author: Devan Goodwin dgoodwin@redhat.com Date: Mon Mar 23 09:46:37 2009 -0300
Fix rhnclient use of "version" file.
diff --git a/client/solaris/rhnclient/Makefile b/client/solaris/rhnclient/Makefile index 7264afb..97a2af4 100644 --- a/client/solaris/rhnclient/Makefile +++ b/client/solaris/rhnclient/Makefile @@ -74,9 +74,6 @@ DESTPID_DIR = $(DESTPREFIX)/var/run/ PID_FILE = $(DESTPID_DIR)/rhnsd.pid
-# Handy defines -VERSION = $(shell echo `awk '{ print $$1 }' version`) - # Compilation stuff CC = gcc DEFINES = -DRHN_SYSID="$(RHN_SYSID)" -DRHN_CHECK="$(DEST_RHN_CHECK_PATH)" -DPATH_RHNDPID="$(PID_FILE)" diff --git a/client/solaris/rhnclient/rhnclient.spec b/client/solaris/rhnclient/rhnclient.spec index 2249967..5c87524 100644 --- a/client/solaris/rhnclient/rhnclient.spec +++ b/client/solaris/rhnclient/rhnclient.spec @@ -5,7 +5,6 @@ Summary: Red Hat Network Client Utilities and Libraries Name: rhnclient Source0: %{name}-%{version}.tar.gz -Source1: version Version: 0.2 Release: 1 License: GPLv2
commit 3ae7ff2f4a21f98f899f4494ccac678d9aac09fb Author: Devan Goodwin dgoodwin@redhat.com Date: Mon Mar 23 09:45:13 2009 -0300
Automatic commit of package [rhnclient] release [0.2-1].
diff --git a/client/solaris/rhnclient/rhnclient.spec b/client/solaris/rhnclient/rhnclient.spec index 6140635..2249967 100644 --- a/client/solaris/rhnclient/rhnclient.spec +++ b/client/solaris/rhnclient/rhnclient.spec @@ -6,8 +6,8 @@ Summary: Red Hat Network Client Utilities and Libraries Name: rhnclient Source0: %{name}-%{version}.tar.gz Source1: version -Version: %(echo `awk '{ print $1 }' %{SOURCE1}`) -Release: %(echo `awk '{ print $2 }' %{SOURCE1}`) +Version: 0.2 +Release: 1 License: GPLv2 Group: Development/Libraries BuildRoot: %{_tmppath}/%{name}-buildroot @@ -66,6 +66,9 @@ rm -rf $RPM_BUILD_ROOT #%doc ChangeLog COPYING README TODO
%changelog +* Mon Mar 23 2009 Devan Goodwin dgoodwin@redhat.com 0.2-1 +- Rebuild from spacewalk.git. + * Fri Jul 01 2005 Joel Martin jmartin@redhat.com 4.0.0-8 - Allow building on Solaris systems without getopt.h. Use local getopt.h on Solaris. diff --git a/rel-eng/packages/rhnclient b/rel-eng/packages/rhnclient new file mode 100644 index 0000000..6365e9f --- /dev/null +++ b/rel-eng/packages/rhnclient @@ -0,0 +1 @@ +0.2-1 client/solaris/rhnclient/
commit fb66c0dcc377f8d789a31e829eeeea7de97b7120 Author: Jason Dobies jason.dobies@redhat.com Date: Sun Mar 22 12:46:53 2009 -0500
489590 - Updated query to retrieve configuration managed systems to check that the systems returned have provisioning entitlements.
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml index 562b540..fc81538 100644 --- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml +++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/config_queries.xml @@ -275,19 +275,28 @@ to the SDC View/Modify files page --> </elaborator> </mode>
- - <mode name="config_managed_systems" class="com.redhat.rhn.frontend.dto.ConfigSystemDto"> <query name="available_to_user_and_config_managed" params="user_id"> -SELECT DISTINCT S.id, - S.name - FROM rhnServer S - inner join rhnUserServerPerms USP on S.id = USP.server_id - inner join rhnClientCapability CC on S.id = CC.server_id - inner join rhnClientCapabilityName CCN on CC.capability_name_id = CCN.id - WHERE USP.user_id = :user_id AND - CCN.name LIKE 'configfiles%' -ORDER BY UPPER(NVL(S.name, '(none)')), S.id +SELECT DISTINCT S.id, + S.name + FROM rhnServer S +INNER JOIN rhnUserServerPerms USP on S.id = USP.server_id +INNER JOIN rhnClientCapability CC on S.id = CC.server_id +INNER JOIN rhnClientCapabilityName CCN on CC.capability_name_id = CCN.id + WHERE USP.user_id = :user_id + AND CCN.name LIKE 'configfiles%' + AND S.id in ( + SELECT SS.id + FROM rhnServer SS, + rhnServerGroupMembers MM, + rhnServerGroup GG, + rhnServerGroupType TT + WHERE SS.id = MM.server_id + AND MM.server_group_id = GG.id + AND GG.group_type = TT.id + AND TT.label = 'provisioning_entitled' + ) + ORDER BY UPPER(NVL(S.name, '(none)')), S.id </query> <elaborator> SELECT S.id,
commit 4046b57065154f56250815c05db82966998c0dde Author: jesus m. rodriguez jesusr@redhat.com Date: Fri Mar 20 19:43:52 2009 -0400
Automatic commit of package [oracle-server-scripts] minor release [10.2.0-26].
diff --git a/projects/oracle-server-scripts/oracle-server-scripts.spec b/projects/oracle-server-scripts/oracle-server-scripts.spec index 8db08fa..2941245 100644 --- a/projects/oracle-server-scripts/oracle-server-scripts.spec +++ b/projects/oracle-server-scripts/oracle-server-scripts.spec @@ -9,7 +9,7 @@ Summary: Oracle 10g Database Server Enterprise Edition scripts Name: oracle-server-scripts Version: 10.2.0 -Release: 25%{?dist} +Release: 26%{?dist} Source0: oracle-home.sh Source1: init-params.ora Source2: create-db.sh @@ -94,6 +94,9 @@ exit 0 %{oracle_scripts}
%changelog +* Fri Mar 20 2009 jesus m. rodriguez jesusr@redhat.com 10.2.0-26 +- define oracle_base_version + * Fri Mar 20 2009 Michael Mraka michael.mraka@redhat.com 10.2.0-25 - 491320 - extended default size of SYSAUX - rebuilt in new build environment diff --git a/rel-eng/packages/oracle-server-scripts b/rel-eng/packages/oracle-server-scripts index cb04161..fe6b049 100644 --- a/rel-eng/packages/oracle-server-scripts +++ b/rel-eng/packages/oracle-server-scripts @@ -1 +1 @@ -10.2.0-25 projects/oracle-server-scripts/ +10.2.0-26 projects/oracle-server-scripts/
commit 7dae8a92b85e0d6d8e755f83652bb66032254397 Author: jesus m. rodriguez jesusr@redhat.com Date: Fri Mar 20 19:42:01 2009 -0400
fix oracle_base_version not being defined.
diff --git a/projects/oracle-server-scripts/oracle-server-scripts.spec b/projects/oracle-server-scripts/oracle-server-scripts.spec index 8ab3da3..8db08fa 100644 --- a/projects/oracle-server-scripts/oracle-server-scripts.spec +++ b/projects/oracle-server-scripts/oracle-server-scripts.spec @@ -1,4 +1,5 @@ %define oracle_base /opt/apps/oracle +%define oracle_base_version %{version} %define oracle_home %{oracle_base}/web/product/%{oracle_base_version}/db_1 %define oracle_admin %{oracle_base}/admin/%{oracle_base_version} %define oracle_config %{oracle_base}/config/%{oracle_base_version}
commit 12b130c84e5cff84347fdc445778ff14201554e8 Author: Pradeep Kilambi pkilambi@redhat.com Date: Fri Mar 20 17:23:13 2009 -0400
430885 - gracefuly ignore dir diffs instead of treating em as missing files
diff --git a/client/tools/rhncfg/actions/configfiles.py b/client/tools/rhncfg/actions/configfiles.py index 25d040c..ecbc1bf 100755 --- a/client/tools/rhncfg/actions/configfiles.py +++ b/client/tools/rhncfg/actions/configfiles.py @@ -310,9 +310,12 @@ def diff(params): diffs = {} for file in files: path = file['path'] - if not os.path.isfile(path): + if not os.path.exists(path): missing_files.append(path) continue + if os.path.isdir(path): + # We dont support dir diffs, ignore + continue
diff = fp.diff(file) diffs[path] = diff
commit ee70c66522c5ffdc0abcaa66306176f6a9f2709a Author: Justin Sherrill jsherril@redhat.com Date: Fri Mar 20 16:42:48 2009 -0400
429093 - adding distincts to remove duplicate entries
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml index 9f3191b..ea286e7 100644 --- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml +++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml @@ -679,7 +679,7 @@ ORDER BY E.update_date DESC, E.id
<mode name="clonable_errata_list_all" class="com.redhat.rhn.frontend.dto.ClonableErrataDto"> <query params="org_id"> - SELECT E.id, E.advisory, E.advisory_type, E.advisory_name, + SELECT distinct E.id, E.advisory, E.advisory_type, E.advisory_name, E.synopsis, TO_CHAR(E.update_date, 'YYYY-MM-DD') AS update_date, NVL(((SELECT 1 FROM rhnErrata E2, rhnErrataCloned EC @@ -699,14 +699,14 @@ ORDER BY E.update_date DESC, E.id WHERE C.org_id = :org_id AND CC.id = C.id AND CC.original_id = CE.channel_id) -ORDER BY E.update_date DESC, E.id +ORDER BY update_date DESC, E.id </query> <elaborator name="related_channels_owned_by_org"/> </mode>
<mode name="clonable_errata_list_uncloned" class="com.redhat.rhn.frontend.dto.ClonableErrataDto"> <query params="org_id"> - SELECT E.id, E.advisory, E.advisory_type, E.advisory_name, + SELECT distinct E.id, E.advisory, E.advisory_type, E.advisory_name, E.synopsis, TO_CHAR(E.update_date, 'YYYY-MM-DD') AS update_date, NVL(((SELECT 1 FROM rhnErrata E2, rhnErrataCloned EC @@ -736,14 +736,14 @@ ORDER BY E.update_date DESC, E.id WHERE ET.org_id = :org_id AND EC2.id = ET.id AND EC2.original_id = E.id)), 0) = 0) -ORDER BY E.update_date DESC, E.id +ORDER BY update_date DESC, E.id </query> <elaborator name="related_channels_owned_by_org"/> </mode>
<mode name="clonable_errata_for_channel_all" class="com.redhat.rhn.frontend.dto.ClonableErrataDto"> <query params="channel_id, org_id"> - SELECT E.id, E.advisory, E.advisory_type, E.advisory_name, + SELECT distinct E.id, E.advisory, E.advisory_type, E.advisory_name, E.synopsis, TO_CHAR(E.update_date, 'YYYY-MM-DD') AS update_date, NVL(((SELECT 1 FROM rhnErrata E2, rhnErrataCloned EC @@ -764,14 +764,14 @@ ORDER BY E.update_date DESC, E.id WHERE C.id = :channel_id AND CC.id = C.id AND CC.original_id = CE.channel_id) -ORDER BY E.update_date DESC, E.id +ORDER BY update_date DESC, E.id </query> <elaborator name="related_channels_owned_by_org"/> </mode>
<mode name="clonable_errata_for_channel_uncloned" class="com.redhat.rhn.frontend.dto.ClonableErrataDto"> <query params="channel_id, org_id"> - SELECT E.id, E.advisory, E.advisory_type, E.advisory_name, + SELECT distinct E.id, E.advisory, E.advisory_type, E.advisory_name, E.synopsis, TO_CHAR(E.update_date, 'YYYY-MM-DD') AS update_date, NVL(((SELECT 1 FROM rhnErrata E2, rhnErrataCloned EC @@ -802,7 +802,7 @@ ORDER BY E.update_date DESC, E.id WHERE ET.org_id = :org_id AND EC2.id = ET.id AND EC2.original_id = E.id)), 0) = 0) -ORDER BY E.update_date DESC, E.id +ORDER BY update_date DESC, E.id </query> <elaborator name="related_channels_owned_by_org"/> </mode>
commit 3db2c4792ebc18034751a7f3b3710aeb9e56f934 Author: Justin Sherrill jsherril@redhat.com Date: Fri Mar 20 15:23:47 2009 -0400
changing the kickstart session page to not refresh after a kickstart has completed or failed
diff --git a/java/code/webapp/WEB-INF/pages/systems/details/kickstart/session_status.jsp b/java/code/webapp/WEB-INF/pages/systems/details/kickstart/session_status.jsp index 3cf1d2c..99d5026 100644 --- a/java/code/webapp/WEB-INF/pages/systems/details/kickstart/session_status.jsp +++ b/java/code/webapp/WEB-INF/pages/systems/details/kickstart/session_status.jsp @@ -11,7 +11,9 @@ <style type="text/css"> .details td, .details th { white-space: nowrap; } </style> - <script type="text/javascript" src="/javascript/rememberScroll.js"> </script> + <c:if test="${not failed and not complete}"> + <script type="text/javascript" src="/javascript/rememberScroll.js"> </script> + </c:if> </head> <body>
commit 2865f46984d0dd4d4d6f7d7614c4a8c97a03bc17 Author: Justin Sherrill jsherril@redhat.com Date: Fri Mar 20 15:20:14 2009 -0400
fixing issue where spacewalk would create network interfaces in cobbler that shouldnt have been, like the loopback
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java b/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java index d73e0cb..cbc5462 100644 --- a/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java +++ b/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerSystemCreateCommand.java @@ -121,10 +121,8 @@ public class CobblerSystemCreateCommand extends CobblerCommand {
private Map getSystemMapByMac() { // Build up list of mac addrs - Iterator i = server.getNetworkInterfaces().iterator(); List macs = new LinkedList(); - while (i.hasNext()) { - NetworkInterface n = (NetworkInterface) i.next(); + for (NetworkInterface n : server.getNetworkInterfaces()) { macs.add(n.getHwaddr().toLowerCase()); }
@@ -236,11 +234,11 @@ public class CobblerSystemCreateCommand extends CobblerCommand { protected void processNetworkInterfaces(String handleIn, String xmlRpcTokenIn, Server serverIn) { - Iterator i = serverIn.getNetworkInterfaces().iterator(); Map inet = new HashMap(); - while (i.hasNext()) { - NetworkInterface n = (NetworkInterface) i.next(); - inet.put("macaddress-" + n.getName(), n.getHwaddr()); + for (NetworkInterface n : serverIn.getNetworkInterfaces()) { + if (!n.getHwaddr().equals("00:00:00:00:00:00")) { + inet.put("macaddress-" + n.getName(), n.getHwaddr()); + } } log.debug("Networks: " + inet);
commit f5376cb97e47c0a917b2234636013a5d96f99cfb Author: Justin Sherrill jsherril@redhat.com Date: Thu Mar 19 17:46:02 2009 -0400
adding better support for kickstart cent, whereby we install/udpate the client packages on all distros and not just RHEL-2,3,4
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml index 5842e58..f0d00b9 100644 --- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml +++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml @@ -999,6 +999,21 @@ SELECT CP.package_id, CP.name_id, CP.evr_id, CP.package_arch_id </query> </mode>
+<mode name="latest_package_equal_in_tree"> + <query params="cid, name"> +SELECT CP.package_id, CP.name_id, CP.evr_id, CP.package_arch_id + FROM rhnPackageName PN inner join + rhnChannelNewestPackage CP on CP.name_id = PN.id inner join + rhnChannel C on C.id = Cp.channel_id inner join + rhnPackage P on P.id = CP.package_id inner join + rhnPackageEvr EVR on P.evr_id = EVR.id + WHERE ( C.id = :cid or C.parent_channel = :cid) + AND PN.name = :name + order by EVR.evr DESC + </query> +</mode> + + <mode name="latest_package_like"> <query params="cid, name"> SELECT CP.package_id, CP.name_id, CP.evr_id diff --git a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java index 1d02a15..6ccb038 100644 --- a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java +++ b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java @@ -1283,6 +1283,29 @@ public class ChannelManager extends BaseManager { }
/** + * Get the id of latest packages located in the channel tree + * where channelId is a parent + * + * @param channelId to lookup package against + * @param packageName to check + * @return List containing Maps of "CP.package_id, CP.name_id, CP.evr_id" + */ + public static Long getLatestPackageEqualInTree(Long channelId, String packageName) { + SelectMode m = ModeFactory.getMode("Channel_queries", + "latest_package_equal_in_tree"); + Map params = new HashMap(); + params.put("cid", channelId); + params.put("name", packageName); + List results = m.execute(params); + if (results != null && results.size() > 0) { + Map row = (Map) results.get(0); + return (Long) row.get("package_id"); + } + return null; + } + + + /** * List the latest packages equal in the passed in Channel and name * * @param channelId to lookup package against diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java index bb37fc9..23fc674 100644 --- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java +++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java @@ -97,13 +97,15 @@ public class KickstartFormatter { NEWLINE; public static final String[] UPDATE_PKG_NAMES = {"pyOpenSSL", "rhnlib", "libxml2-python"}; + public static final String[] FRESH_PKG_NAMES_RHEL5 = + {"rhn-setup", "yum-rhn-plugin", "rhnsd", "rhn-client-tools", "rhnlib", "rhn-check"}; public static final String[] FRESH_PKG_NAMES_RHEL34 = {"up2date", "up2date-gnome"}; public static final String[] FRESH_PKG_NAMES_RHEL2 = {"rhn_register", "up2date", "rhn_register-gnome", "up2date-gnome"}; private static final String UPDATE_OPT_PATH = "/tmp/rhn_rpms/optional/"; private static final String UPDATE_CMD = "rpm -Uvh --replacepkgs --replacefiles "; - private static final String FRESH_CMD = "rpm -Fvh /tmp/rhn_rpms/*rpm"; + private static final String FRESH_CMD = "rpm -Uvh /tmp/rhn_rpms/*rpm"; private static final String IMPORT_RHN_KEY5 = "rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release"; private static final String IMPORT_RHN_KEY34 = @@ -802,9 +804,12 @@ public class KickstartFormatter { else if (ksdata.isRhel3() || ksdata.isRhel4()) { pkglist = FRESH_PKG_NAMES_RHEL34; } + else { + pkglist = FRESH_PKG_NAMES_RHEL5; + } HashSet retval = new HashSet(); for (int i = 0; i < pkglist.length; i++) { - Long packageId = ChannelManager.getLatestPackageEqual(c.getId(), + Long packageId = ChannelManager.getLatestPackageEqualInTree(c.getId(), pkglist[i]); if (packageId != null) { Package p = PackageFactory.lookupByIdAndUser(packageId, user);
commit 10133e8951eb8ff61bdbac8b1d0ecb31cf08752a Author: Justin Sherrill jsherril@redhat.com Date: Thu Mar 19 11:24:32 2009 -0400
removing satellite-debug link that was not intended for spacewalk
diff --git a/branding/spacewalk-branding.spec b/branding/spacewalk-branding.spec index f5870b6..547ea52 100644 --- a/branding/spacewalk-branding.spec +++ b/branding/spacewalk-branding.spec @@ -44,7 +44,6 @@ cp -R setup %{buildroot}%{_datadir}/spacewalk/ cp -R java-branding.jar %{buildroot}%{_datadir}/rhn/lib/ ln -s %{_datadir}/rhn/lib/java-branding.jar %{buildroot}%{_var}/lib/tomcat5/webapps/rhn/WEB-INF/lib/java-branding.jar cp conf/rhn_docs.conf %{buildroot}/%{_sysconfdir}/rhn/default/rhn_docs.conf -ln -s %{_bindir}/spacewalk-debug %{_bindir}/satellite-debug
%clean rm -rf %{buildroot}
commit fca6841a3fcbecb88c1740f8a387e867cc89bd38 Author: Mike McCune mmccune@gmail.com Date: Fri Mar 20 12:33:03 2009 -0700
Automatic commit of package [spacewalk-web] release [0.5.19-1].
diff --git a/rel-eng/packages/spacewalk-web b/rel-eng/packages/spacewalk-web index 2c4e1d6..e84712b 100644 --- a/rel-eng/packages/spacewalk-web +++ b/rel-eng/packages/spacewalk-web @@ -1 +1 @@ -0.5.18-1 web/ +0.5.19-1 web/ diff --git a/web/spacewalk-web.spec b/web/spacewalk-web.spec index d6edaf9..cdde26a 100644 --- a/web/spacewalk-web.spec +++ b/web/spacewalk-web.spec @@ -2,7 +2,7 @@ Name: spacewalk-web Summary: Spacewalk Web site packages Group: Applications/Internet License: GPLv2 -Version: 0.5.18 +Version: 0.5.19 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -318,6 +318,9 @@ rm -rf $RPM_BUILD_ROOT
# $Id$ %changelog +* Fri Mar 20 2009 Mike McCune mmccune@gmail.com 0.5.19-1 +- space05 - bumping release footer/config for 0.5 release + * Thu Mar 19 2009 jesus m. rodriguez jesusr@redhat.com 0.5.18-1 - 472595 - fixes for kickstart performance, start of porting ks downloads to java - 490726 - minor updates to about.pxt
commit 7f24f0625e4c1bad09f048e033a15d6567cdcca4 Author: Mike McCune mmccune@gmail.com Date: Fri Mar 20 12:31:30 2009 -0700
space05 - bumping for 0.5 release
diff --git a/web/conf/rhn_web.conf b/web/conf/rhn_web.conf index 0d8f235..cff7879 100644 --- a/web/conf/rhn_web.conf +++ b/web/conf/rhn_web.conf @@ -225,7 +225,7 @@ web.config_delim_start = {| web.config_delim_end = |}
# the version of this RHN install as a whole -web.version = 0.4 +web.version = 0.5
# the version of API web.apiversion = 10.0
commit 1f54401391e02180f3e06abb6f524889efe866f2 Author: Jason Dobies jason.dobies@redhat.com Date: Fri Mar 20 15:25:58 2009 -0500
489601 - Added hook to clear the set when first entering the Deploy Files workflow, which will get rid of any left over packages from an aborted deploy in the past (for this user).
diff --git a/java/code/src/com/redhat/rhn/frontend/action/configuration/sdc/FileListSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/configuration/sdc/FileListSetupAction.java index cd80806..acb7d0e 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/configuration/sdc/FileListSetupAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/configuration/sdc/FileListSetupAction.java @@ -17,12 +17,14 @@ package com.redhat.rhn.frontend.action.configuration.sdc; import com.redhat.rhn.common.db.datasource.DataResult; import com.redhat.rhn.domain.server.Server; import com.redhat.rhn.domain.user.User; +import com.redhat.rhn.domain.rhnset.RhnSet; import com.redhat.rhn.frontend.action.systems.sdc.SdcHelper; import com.redhat.rhn.frontend.listview.PageControl; import com.redhat.rhn.frontend.struts.BaseSetListAction; import com.redhat.rhn.frontend.struts.RequestContext; import com.redhat.rhn.manager.configuration.ConfigurationManager; import com.redhat.rhn.manager.rhnset.RhnSetDecl; +import com.redhat.rhn.manager.rhnset.RhnSetManager;
/** @@ -58,6 +60,12 @@ public class FileListSetupAction extends BaseSetListAction { User user = rctxIn.getLoggedInUser(); Server server = rctxIn.lookupAndBindServer(); SdcHelper.ssmCheck(rctxIn.getRequest(), server.getId(), user); + + if (!rctxIn.isSubmitted()) { + RhnSet set = getSetDecl().get(rctxIn.getLoggedInUser()); + set.clear(); + RhnSetManager.store(set); + } }
}
commit ffa3f5367efc9d5ea5a884ae844d920c66efe6a4 Author: Mike McCune mmccune@gmail.com Date: Fri Mar 20 12:25:38 2009 -0700
484659 - better spam control.
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java b/java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java index cabeb54..0b0854c 100644 --- a/java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java +++ b/java/code/src/com/redhat/rhn/taskomatic/task/CobblerSyncTask.java @@ -43,7 +43,8 @@ import redstone.xmlrpc.XmlRpcFault; public class CobblerSyncTask extends SingleThreadedTestableTask {
private static final AtomicLong LAST_UPDATED = new AtomicLong(); - private long WARN_COUNT; + private long ERROR_COUNT; + private long DISTRO_WARN_COUNT;
/** * Used to log stats in the RHNDAEMONSTATE table @@ -56,7 +57,8 @@ public class CobblerSyncTask extends SingleThreadedTestableTask { * Default constructor */ public CobblerSyncTask() { - WARN_COUNT = 0; + ERROR_COUNT = 0; + DISTRO_WARN_COUNT = 0; }
/** @@ -65,52 +67,66 @@ public class CobblerSyncTask extends SingleThreadedTestableTask { public void execute(JobExecutionContext ctxIn, boolean testContextIn) throws JobExecutionException {
- XMLRPCInvoker invoker = (XMLRPCInvoker) - MethodUtil.getClassFromConfig(CobblerXMLRPCHelper.class.getName()); - - Double mtime = null; try { - mtime = (Double) invoker.invokeMethod("last_modified_time", new ArrayList()); - } - catch (XmlRpcFault e) { - log.error("Error calling cobbler.", e); - } - - - - CobblerDistroSyncCommand distSync = new CobblerDistroSyncCommand(); - ValidatorError ve = distSync.syncNullDistros(); - if (ve != null && WARN_COUNT < 1) { - TaskHelper.sendErrorEmail(log, ve.getMessage()); - WARN_COUNT++; - } - + XMLRPCInvoker invoker = (XMLRPCInvoker) + MethodUtil.getClassFromConfig(CobblerXMLRPCHelper.class.getName());
- log.debug("mtime: " + mtime.longValue() + ", last modified: " + - LAST_UPDATED.get()); - //If we got an mtime from cobbler and that mtime is before our last update - // Then don't update anything - if (mtime != null && mtime.longValue() < CobblerSyncTask.LAST_UPDATED.get()) { - log.debug("Cobbler mtime is less than last change, skipping"); - return; - } - else { - log.debug("Syncing distros and profiles."); + Double mtime = null; + try { + mtime = (Double) invoker.invokeMethod("last_modified_time", + new ArrayList()); + } + catch (XmlRpcFault e) { + log.error("Error calling cobbler.", e); + }
- ve = distSync.store(); - if (ve != null) { + CobblerDistroSyncCommand distSync = new CobblerDistroSyncCommand(); + ValidatorError ve = distSync.syncNullDistros(); + if (ve != null && DISTRO_WARN_COUNT < 1) { TaskHelper.sendErrorEmail(log, ve.getMessage()); + DISTRO_WARN_COUNT++; }
- CobblerProfileSyncCommand profSync = new CobblerProfileSyncCommand(); - profSync.store();
- CobblerSystemSyncCommand systemSync = new CobblerSystemSyncCommand(); - systemSync.store(); + log.debug("mtime: " + mtime.longValue() + ", last modified: " + + LAST_UPDATED.get()); + //If we got an mtime from cobbler and that mtime is before our last update + // Then don't update anything + if (mtime != null && mtime.longValue() < CobblerSyncTask.LAST_UPDATED.get()) { + log.debug("Cobbler mtime is less than last change, skipping"); + return; + } + else { + log.debug("Syncing distros and profiles."); + + ve = distSync.store(); + if (ve != null) { + TaskHelper.sendErrorEmail(log, ve.getMessage()); + } + + CobblerProfileSyncCommand profSync = new CobblerProfileSyncCommand(); + profSync.store(); + + CobblerSystemSyncCommand systemSync = new CobblerSystemSyncCommand(); + systemSync.store(); + } + + LAST_UPDATED.set((new Date()).getTime() / 1000 + 1); + } + catch (RuntimeException re) { + log.error("RuntimeExceptioneError trying to sync to cobbler: " + + re.getMessage(), re); + // Only throw up one error. Otherwise if say cobblerd is shutoff you can + // possibly generate 1 stacktrace email per minute which is quite spammy. + if (ERROR_COUNT < 1) { + ERROR_COUNT++; + log.error("re-throwing exception since we havent yet."); + throw re; + } + else { + log.error("Not re-throwing any more errors."); + } } - - LAST_UPDATED.set((new Date()).getTime() / 1000 + 1); - }
commit be28fa1194d6ec071dd826360d09954caadb7388 Author: Pradeep Kilambi pkilambi@redhat.com Date: Fri Mar 20 14:21:25 2009 -0400
none - fixing busted exception handling for procedure calls
diff --git a/backend/server/rhnSQL/driver_cx_Oracle.py b/backend/server/rhnSQL/driver_cx_Oracle.py index b83ddd8..903fdde 100644 --- a/backend/server/rhnSQL/driver_cx_Oracle.py +++ b/backend/server/rhnSQL/driver_cx_Oracle.py @@ -264,7 +264,7 @@ class Procedure(sql_base.Procedure): elif 20000 <= e[0].code <= 20999: # error codes we know we raise as schema errors
raise apply(sql_base.SQLSchemaError, [e[0].code, str(e[0])]) - raise apply(sql_base.SQLError, tuple(e.args)) + raise apply(sql_base.SQLError, [e[0].code, str(e[0])]) except cx_Oracle.NotSupportedError, error: raise apply(sql_base.SQLError, error.args) return retval
commit 376e0035e09003a9918db3f1aa8e542bf639f605 Author: Partha Aji paji@redhat.com Date: Fri Mar 20 14:00:39 2009 -0400
250134:Added code to do a check on multibyte chars for max lenght in the validation rhnvalidationhelper...
diff --git a/java/code/src/com/redhat/rhn/common/validator/StringConstraint.java b/java/code/src/com/redhat/rhn/common/validator/StringConstraint.java index da2aa85..56c2719 100644 --- a/java/code/src/com/redhat/rhn/common/validator/StringConstraint.java +++ b/java/code/src/com/redhat/rhn/common/validator/StringConstraint.java @@ -18,6 +18,7 @@ import com.redhat.rhn.common.localization.LocalizationService;
import org.apache.log4j.Logger;
+import java.io.UnsupportedEncodingException; import java.util.regex.Matcher; import java.util.regex.Pattern;
@@ -51,7 +52,27 @@ public class StringConstraint extends RequiredIfConstraint { */ public StringConstraint(String identifierIn) { super(identifierIn); - } + } + + private boolean lengthLessThan(String str, Number length) { + try { + return str.getBytes("UTF8").length < length.intValue(); + } + catch (UnsupportedEncodingException use) { + log.warn("Couldn;t convert to UTF8-> [" + str + "]"); + return str.length() < length.intValue(); + } + } + + private boolean lengthGreaterThan(String str, Number length) { + try { + return str.getBytes("UTF8").length >= length.intValue(); + } + catch (UnsupportedEncodingException use) { + log.warn("Couldn;t convert to UTF8-> [" + str + "]"); + return str.length() >= length.intValue(); + } + }
/** {@inheritDoc} */ public ValidatorError checkConstraint(Object value) { @@ -67,7 +88,7 @@ public class StringConstraint extends RequiredIfConstraint { // Validate String length if (hasMaxLength()) { log.debug("HasMaxlength .."); - if (strValue.length() > getMaxLength().doubleValue()) { + if (!(lengthLessThan(strValue, getMaxLength()))) { log.debug("Above max length: " + strValue.length() + " data: " + strValue); Object[] args = new Object[2]; args[0] = localizedIdentifier; @@ -82,8 +103,8 @@ public class StringConstraint extends RequiredIfConstraint { Object[] args = new Object[1]; args[0] = localizedIdentifier; return new ValidatorError("errors.required", args); - } - if (strValue.length() < getMinLength().doubleValue()) { + } + if (!(lengthGreaterThan(strValue, getMinLength()))) { log.debug("Below min length: " + strValue.length() + " data: " + strValue); Object[] args = new Object[2]; args[0] = localizedIdentifier; diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml index f8300c9..9c27c69 100644 --- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml +++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml @@ -185,7 +185,7 @@ </context-group> </trans-unit> <trans-unit id="errors.maxlength"> -<source>{0} cannot be greater than {1} characters.</source> +<source>{0} cannot be greater than {1} characters (Note: double byte chars are not supported).</source> <context-group name="ctx"> <context context-type="sourcefile">Any page that has required length fields</context> <context context-type="paramnotes">Email cannot be greater than 4 characters</context>
commit 1acedc80c264c14e89803af456aba7c3fa5b3a19 Author: Pradeep Kilambi pkilambi@redhat.com Date: Fri Mar 20 13:14:28 2009 -0400
485529 - If the ip_addr for a disabled interface is not returned or empty, jus insert an empty string into db instead of 0
diff --git a/backend/server/rhnServer/server_hardware.py b/backend/server/rhnServer/server_hardware.py index cddec1a..8f33f8d 100644 --- a/backend/server/rhnServer/server_hardware.py +++ b/backend/server/rhnServer/server_hardware.py @@ -160,6 +160,9 @@ def cleanse_ip_addr(ip_addr): return None # Make sure it's a string ip_addr = str(ip_addr) + # If the ipaddr is empty, jus return empty str + if not len(ip_addr): + return '' arr = ip_addr.split('.') # lstrip will remove all leading zeros; if multiple zeros are present, it # would remove too much, hence the or '0' here.
commit 65c8964a14bd176a9141df0af0d86e654f73e690 Author: jesus m. rodriguez jesusr@redhat.com Date: Fri Mar 20 12:37:00 2009 -0400
Automatic commit of package [spacewalk-java] release [0.5.36-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec index 90136c6..e3678fc 100644 --- a/java/spacewalk-java.spec +++ b/java/spacewalk-java.spec @@ -10,7 +10,7 @@ Name: spacewalk-java Summary: Spacewalk Java site packages Group: Applications/Internet License: GPLv2 -Version: 0.5.35 +Version: 0.5.36 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -235,7 +235,7 @@ fi %attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog -* Fri Mar 20 2009 jesus m. rodriguez jesusr@redhat.com 0.5.35-1 +* Fri Mar 20 2009 jesus m. rodriguez jesusr@redhat.com 0.5.36-1 - bring over jta from satellite build. - fix the jfreechart requires to be 0:1.0.9 everywhere
diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java index fa51f53..fa8549c 100644 --- a/rel-eng/packages/spacewalk-java +++ b/rel-eng/packages/spacewalk-java @@ -1 +1 @@ -0.5.35-1 java/ +0.5.36-1 java/
commit 4714e5393c40165a5fa39af1e9086843efb6150a Author: jesus m. rodriguez jesusr@redhat.com Date: Fri Mar 20 12:36:10 2009 -0400
Automatic commit of package [spacewalk-java] release [0.5.35-1].
diff --git a/java/spacewalk-java.spec b/java/spacewalk-java.spec index d4ff7ca..90136c6 100644 --- a/java/spacewalk-java.spec +++ b/java/spacewalk-java.spec @@ -10,7 +10,7 @@ Name: spacewalk-java Summary: Spacewalk Java site packages Group: Applications/Internet License: GPLv2 -Version: 0.5.34 +Version: 0.5.35 Release: 1%{?dist} URL: https://fedorahosted.org/spacewalk Source0: https://fedorahosted.org/releases/s/p/spacewalk/%%7Bname%7D-%%7Bversion%7D.t... @@ -35,6 +35,7 @@ Requires: jasper5 Requires: jcommon Requires: jfreechart >= 1.0.9 Requires: jpam +Requires: jta Requires: log4j Requires: redstone-xmlrpc Requires: oscache @@ -82,7 +83,8 @@ BuildRequires: jakarta-taglibs-standard BuildRequires: jasper5 BuildRequires: jcommon BuildRequires: jdom -BuildRequires: jfreechart >= 0:0.9.21 +BuildRequires: jfreechart >= 0:1.0.9 +BuildRequires: jta BuildRequires: redstone-xmlrpc BuildRequires: oscache BuildRequires: quartz @@ -139,7 +141,7 @@ Requires: jakarta-commons-configuration Requires: jakarta-commons-logging Requires: jakarta-taglibs-standard Requires: jcommon -Requires: jfreechart >= 0:0.9.21 +Requires: jfreechart >= 0:1.0.9 Requires: jpam Requires: log4j Requires: oscache @@ -233,6 +235,10 @@ fi %attr(644, root, root) %{_datadir}/rhn/lib/rhn.jar
%changelog +* Fri Mar 20 2009 jesus m. rodriguez jesusr@redhat.com 0.5.35-1 +- bring over jta from satellite build. +- fix the jfreechart requires to be 0:1.0.9 everywhere + * Thu Mar 19 2009 jesus m. rodriguez jesusr@redhat.com 0.5.34-1 - ServerFactory - fix wording in method header - 486212 - api - added system.deleteCustomValues diff --git a/rel-eng/packages/spacewalk-java b/rel-eng/packages/spacewalk-java index 69c950f..fa51f53 100644 --- a/rel-eng/packages/spacewalk-java +++ b/rel-eng/packages/spacewalk-java @@ -1 +1 @@ -0.5.34-1 java/ +0.5.35-1 java/
commit e27e2452fb4c7df15781e2c098756ea703c6feb5 Merge: 75fe209... 70f65e7... Author: Pradeep Kilambi pkilambi@redhat.com Date: Fri Mar 20 12:34:41 2009 -0400
Merge branch 'master' of ssh://pkilambi@git.fedorahosted.org/git/spacewalk
commit 75fe209c6a0ba7fb0686acdd5cadc01ec20d1cf9 Author: Pradeep Kilambi pkilambi@redhat.com Date: Fri Mar 20 12:34:28 2009 -0400
482830 - fixing the rpm fetch to include the xml-dump-version in httpd headers during GET requests
diff --git a/backend/rhn-conf/rhn_server_iss.conf b/backend/rhn-conf/rhn_server_iss.conf index 08cdf56..b8df96a 100644 --- a/backend/rhn-conf/rhn_server_iss.conf +++ b/backend/rhn-conf/rhn_server_iss.conf @@ -5,7 +5,7 @@ # between Satellite and hosted.
# 2.2 -> 2.3 for satellite 3.6 -xml_dump_version = 3.1 +xml_dump_version = 3.3
use_database_cache = 0
diff --git a/backend/rhn-conf/rhn_server_satellite.conf b/backend/rhn-conf/rhn_server_satellite.conf index 84f1908..3e8fc93 100644 --- a/backend/rhn-conf/rhn_server_satellite.conf +++ b/backend/rhn-conf/rhn_server_satellite.conf @@ -28,3 +28,5 @@ cache_refresh_level = 2 # max number of satellite-sync's before a full cache refresh occurs (level 6) cache_refresh_count_max = 5
+# dump version +xml_dump_version = 3.3 diff --git a/backend/satellite_tools/connection.py b/backend/satellite_tools/connection.py index 6a9bed8..3e26a62 100644 --- a/backend/satellite_tools/connection.py +++ b/backend/satellite_tools/connection.py @@ -89,7 +89,7 @@ class _Server(rpclib.Server):
class StreamConnection(_Server): def __init__(self, uri, proxy=None, username=None, password=None, - refreshCallback=None, xml_dump_version="3.1"): + refreshCallback=None, xml_dump_version="3.3"): _Server.__init__(self, uri, proxy=proxy, username=username, password=password, refreshCallback=refreshCallback) self.add_header("X-RHN-Satellite-XML-Dump-Version", xml_dump_version) diff --git a/backend/satellite_tools/satellite-sync.sgml b/backend/satellite_tools/satellite-sync.sgml index 4a58d63..23ee69e 100644 --- a/backend/satellite_tools/satellite-sync.sgml +++ b/backend/satellite_tools/satellite-sync.sgml @@ -7,7 +7,7 @@
<RefMeta> <RefEntryTitle>satellite-sync</RefEntryTitle><manvolnum>8</manvolnum> -<RefMiscInfo>Version 3.1.0</RefMiscInfo> +<RefMiscInfo>Version 3.3.0</RefMiscInfo> </RefMeta>
<RefNameDiv> diff --git a/backend/satellite_tools/xmlWireSource.py b/backend/satellite_tools/xmlWireSource.py index 33727ee..13b3dde 100644 --- a/backend/satellite_tools/xmlWireSource.py +++ b/backend/satellite_tools/xmlWireSource.py @@ -400,6 +400,9 @@ class RPCGetWireSource(BaseWireSource): # Force a login otherwise self._set_login_token(self._login()) url = self.url + self.handler + # include xml-dump-version in the header + self.login_token['X-RHN-Satellite-XML-Dump-Version'] = \ + CFG.XML_DUMP_VERSION get_server_obj = rpclib.GETServer(url, proxy=CFG.HTTP_PROXY, username=CFG.HTTP_PROXY_USERNAME, password=CFG.HTTP_PROXY_PASSWORD, headers=self.login_token)
commit 70f65e75d87eb0f0a835841fd63c1436dd2fc12c Author: Mike McCune mmccune@gmail.com Date: Thu Mar 19 20:18:28 2009 -0700
491091 - splitting out the rhel4 vs rhel5 ssl.conf regexes. Each RHEL has a different spot for the cert/key files.
diff --git a/spacewalk/setup/share/ssl.conf.4 b/spacewalk/setup/share/ssl.conf.4 index 92a7fb8..9a437de 100644 --- a/spacewalk/setup/share/ssl.conf.4 +++ b/spacewalk/setup/share/ssl.conf.4 @@ -1,2 +1,2 @@ -^#*[ \t]*SSLCertificateFile.*\n +^#*[ \t]*SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt*\n SSLCertificateFile /etc/pki/tls/certs/spacewalk.crt diff --git a/spacewalk/setup/share/ssl.conf.5 b/spacewalk/setup/share/ssl.conf.5 index 2513d0a..e20680b 100644 --- a/spacewalk/setup/share/ssl.conf.5 +++ b/spacewalk/setup/share/ssl.conf.5 @@ -1,2 +1,2 @@ -^#*[ \t]*SSLCertificateKeyFile.*\n +^#*[ \t]*SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key*\n SSLCertificateKeyFile /etc/pki/tls/private/spacewalk.key diff --git a/spacewalk/setup/share/ssl.conf.6 b/spacewalk/setup/share/ssl.conf.6 new file mode 100644 index 0000000..ad2ff40 --- /dev/null +++ b/spacewalk/setup/share/ssl.conf.6 @@ -0,0 +1,2 @@ +^#*[ \t]*SSLCertificateFile /etc/pki/tls/certs/localhost.crt*\n +SSLCertificateFile /etc/pki/tls/certs/spacewalk.crt diff --git a/spacewalk/setup/share/ssl.conf.7 b/spacewalk/setup/share/ssl.conf.7 new file mode 100644 index 0000000..54faea1 --- /dev/null +++ b/spacewalk/setup/share/ssl.conf.7 @@ -0,0 +1,2 @@ +^#*[ \t]*SSLCertificateKeyFile /etc/pki/tls/private/localhost.key*\n +SSLCertificateKeyFile /etc/pki/tls/private/spacewalk.key
commit b5ee825abcf99fe9aabcad2418f45443ad7a9fd7 Author: Pradeep Kilambi pkilambi@redhat.com Date: Fri Mar 20 11:04:12 2009 -0400
483811 - fixing the orgid based sync logic to: 1. Validate given orgid at the args set time 2. fix the org id and channel family replace to be more simpler
diff --git a/backend/satellite_tools/satsync.py b/backend/satellite_tools/satsync.py index 7337899..e7dff9e 100644 --- a/backend/satellite_tools/satsync.py +++ b/backend/satellite_tools/satsync.py @@ -2172,6 +2172,14 @@ def processCommandline(): sys.exit(0)
+ if OPTIONS.orgid: + # verify if its a valid org + orgs = map(lambda a: a['id'], satCerts.get_all_orgs()) + if int(OPTIONS.orgid) not in orgs: + msg = "ERROR: Unable to lookup Org Id %s" % OPTIONS.orgid + log2stderr(-1, msg, cleanYN=1) + sys.exit(27) + # the action dictionary used throughout actionDict = { 'blacklists' : 0, @@ -2331,7 +2339,8 @@ def processCommandline(): " 23 - error: --rhn-cert requires --mount-point", " 24 - no such file", " 25 - no such directory", - " 26 - mount_point does not exist"] + " 26 - mount_point does not exist", + " 27 - No such org",] log(-1, msg, 1,1,sys.stderr) sys.exit(0)
diff --git a/backend/satellite_tools/sync_handlers.py b/backend/satellite_tools/sync_handlers.py index 51dbcaf..bcaf31c 100644 --- a/backend/satellite_tools/sync_handlers.py +++ b/backend/satellite_tools/sync_handlers.py @@ -22,7 +22,6 @@ import string from server import rhnSQL from server.importlib import channelImport, packageImport, errataImport, \ kickstartImport, importLib -from satCerts import get_all_orgs, NoOrgIdError import diskImportLib import xmlSource import syncCache @@ -184,8 +183,6 @@ def import_channels(channels, orgid=None): collection = ChannelCollection() batch = []
- orgs = get_all_orgs() - for c in channels: try: timestamp = collection.get_channel_timestamp(c) @@ -195,15 +192,15 @@ def import_channels(channels, orgid=None): if c_obj is None: raise Exception, "Channel not found in cache: %s" % c
- if orgid is not None and c_obj['org_id'] is not None: + # Check to see if we're asked to sync to an orgid, + # make sure the org from the export is not null org, + # finally if the orgs differ so we might wanna use + # requested org's channel-family. + if orgid is not None and c_obj['org_id'] is not None and \ + c_obj['org_id'] != orgid: c_obj['org_id'] = orgid - if c_obj['org_id'] not in orgs: - raise NoOrgIdError("Error: Unable to lookup Org Id %s " \ - % c_obj['org_id']) for family in c_obj['families']: - if str(c_obj['org_id']) != \ - family['label'].split('-')[-1]: - family['label'] = 'private-channel-family-' + str(c_obj['org_id']) + family['label'] = 'private-channel-family-' + c_obj['org_id']
batch.append(c_obj)
spacewalk-commits@lists.fedorahosted.org