From 3fa052c1f57e6299a1f8165ec3e56e448facb75b Mon Sep 17 00:00:00 2001 From: Leo Date: Thu, 8 Feb 2024 10:45:20 -0700 Subject: [PATCH 1/2] Fix cloudstack-ui package: bad directory permissions and missing WEB-INF (#8568) * Fix bad perms on sub directories for webapp asset files Updated the spec file such that directories are chmod 0755 rather than 0644 which would prevent the cloud user from reading their contents. * Fix bad permissions for centos8 UI files, missing WEB-INF The cloudstack-ui package should have the same files as the bundled webapp in the management package. * Fix bad perms and missing WEB-INF for centos7 ui rpm Add the missing WEB-INF directory and do not set directories to 0755. * Fix missing WEB-INF on CentOS 8 cloudstack-ui rpm * Fix missing WEB-INF on CentOS 7 cloudstack-ui rpm --- packaging/centos7/cloud.spec | 3 ++- packaging/centos8/cloud.spec | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packaging/centos7/cloud.spec b/packaging/centos7/cloud.spec index c6ae6a63ae5..cc25977ca14 100644 --- a/packaging/centos7/cloud.spec +++ b/packaging/centos7/cloud.spec @@ -320,6 +320,7 @@ rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/templates/systemvm/md5sum # UI mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/ui mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/ +cp -r client/target/classes/META-INF/webapp/WEB-INF ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui cp ui/dist/config.json ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/ui/ cp -r ui/dist/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/ rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/config.json @@ -658,7 +659,7 @@ pip3 install --upgrade urllib3 %files ui %config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/ui/config.json -%attr(0644,root,root) %{_datadir}/%{name}-ui/* +%{_datadir}/%{name}-ui/* %{_defaultdocdir}/%{name}-ui-%{version}/LICENSE %{_defaultdocdir}/%{name}-ui-%{version}/NOTICE diff --git a/packaging/centos8/cloud.spec b/packaging/centos8/cloud.spec index 8d567f217ce..0e70d221daa 100644 --- a/packaging/centos8/cloud.spec +++ b/packaging/centos8/cloud.spec @@ -302,6 +302,7 @@ rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/templates/systemvm/md5sum # UI mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/ui mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/ +cp -r client/target/classes/META-INF/webapp/WEB-INF ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui cp ui/dist/config.json ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/ui/ cp -r ui/dist/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/ rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/config.json @@ -636,7 +637,7 @@ pip install --upgrade /usr/share/cloudstack-marvin/Marvin-*.tar.gz %files ui %config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/ui/config.json -%attr(0644,root,root) %{_datadir}/%{name}-ui/* +%{_datadir}/%{name}-ui/* %{_defaultdocdir}/%{name}-ui-%{version}/LICENSE %{_defaultdocdir}/%{name}-ui-%{version}/NOTICE From e53d3274fa34ae5d69e69ea09addda97d65ad718 Mon Sep 17 00:00:00 2001 From: Leo Date: Thu, 8 Feb 2024 10:45:20 -0700 Subject: [PATCH 2/2] Fix cloudstack-ui package: bad directory permissions and missing WEB-INF (#8568) * Fix bad perms on sub directories for webapp asset files Updated the spec file such that directories are chmod 0755 rather than 0644 which would prevent the cloud user from reading their contents. * Fix bad permissions for centos8 UI files, missing WEB-INF The cloudstack-ui package should have the same files as the bundled webapp in the management package. * Fix bad perms and missing WEB-INF for centos7 ui rpm Add the missing WEB-INF directory and do not set directories to 0755. * Fix missing WEB-INF on CentOS 8 cloudstack-ui rpm * Fix missing WEB-INF on CentOS 7 cloudstack-ui rpm --- packaging/centos7/cloud.spec | 3 ++- packaging/centos8/cloud.spec | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packaging/centos7/cloud.spec b/packaging/centos7/cloud.spec index 0fe1a81a6cf..8fce8906dd1 100644 --- a/packaging/centos7/cloud.spec +++ b/packaging/centos7/cloud.spec @@ -320,6 +320,7 @@ rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/templates/systemvm/md5sum # UI mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/ui mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/ +cp -r client/target/classes/META-INF/webapp/WEB-INF ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui cp ui/dist/config.json ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/ui/ cp -r ui/dist/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/ rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/config.json @@ -658,7 +659,7 @@ pip3 install --upgrade urllib3 %files ui %config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/ui/config.json -%attr(0644,root,root) %{_datadir}/%{name}-ui/* +%{_datadir}/%{name}-ui/* %{_defaultdocdir}/%{name}-ui-%{version}/LICENSE %{_defaultdocdir}/%{name}-ui-%{version}/NOTICE diff --git a/packaging/centos8/cloud.spec b/packaging/centos8/cloud.spec index ce425d38165..628df8446f3 100644 --- a/packaging/centos8/cloud.spec +++ b/packaging/centos8/cloud.spec @@ -302,6 +302,7 @@ rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/templates/systemvm/md5sum # UI mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/ui mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/ +cp -r client/target/classes/META-INF/webapp/WEB-INF ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui cp ui/dist/config.json ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/ui/ cp -r ui/dist/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/ rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/config.json @@ -636,7 +637,7 @@ pip install --upgrade /usr/share/cloudstack-marvin/Marvin-*.tar.gz %files ui %config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/ui/config.json -%attr(0644,root,root) %{_datadir}/%{name}-ui/* +%{_datadir}/%{name}-ui/* %{_defaultdocdir}/%{name}-ui-%{version}/LICENSE %{_defaultdocdir}/%{name}-ui-%{version}/NOTICE