Initial import
This commit is contained in:
parent
ef75d097f4
commit
ac084a71fe
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/cepces-0.3.5.tar.gz
|
23
16.patch
Normal file
23
16.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
From c985686b9f80c363c1f24d00bfa0e381a918813b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ding-Yi Chen <dchen@redhat.com>
|
||||||
|
Date: Tue, 14 Jun 2022 18:14:50 +1000
|
||||||
|
Subject: [PATCH] Fixes #15 cepces.conf.dist: server should be pointed to
|
||||||
|
actual CEP host
|
||||||
|
|
||||||
|
---
|
||||||
|
conf/cepces.conf.dist | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/conf/cepces.conf.dist b/conf/cepces.conf.dist
|
||||||
|
index fe3a5a1..34f9c97 100644
|
||||||
|
--- a/conf/cepces.conf.dist
|
||||||
|
+++ b/conf/cepces.conf.dist
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
[global]
|
||||||
|
-# Hostname of the issuing certification authority. This is an optional setting
|
||||||
|
-# and is only used to construct the URL to the Policy Provider endpoint.
|
||||||
|
+# Hostname of the Certificate Enrollment Policy (CEP) Server.
|
||||||
|
+# Used to construct the URL to the CEP endpoint.
|
||||||
|
#
|
||||||
|
# Default: ca
|
||||||
|
server=ca
|
46
18.patch
Normal file
46
18.patch
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
From b68b7a713a2acbbb6e0ce7bc9b8ef43fb913a2a8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Schneider <asn@cryptomilk.org>
|
||||||
|
Date: Thu, 23 Jun 2022 19:13:25 +0200
|
||||||
|
Subject: [PATCH] Replace old requests_kerberos with requests_gssapi
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
|
||||||
|
---
|
||||||
|
cepces/soap/auth.py | 8 +++++---
|
||||||
|
requirements.txt | 2 +-
|
||||||
|
2 files changed, 6 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/cepces/soap/auth.py b/cepces/soap/auth.py
|
||||||
|
index bb5536d..26f549e 100644
|
||||||
|
--- a/cepces/soap/auth.py
|
||||||
|
+++ b/cepces/soap/auth.py
|
||||||
|
@@ -21,7 +21,8 @@
|
||||||
|
"""This module contains SOAP related authentication."""
|
||||||
|
from abc import ABCMeta, abstractmethod, abstractproperty
|
||||||
|
import os
|
||||||
|
-from requests_kerberos import HTTPKerberosAuth
|
||||||
|
+import gssapi
|
||||||
|
+from requests_gssapi import HTTPSPNEGOAuth
|
||||||
|
from cepces import Base
|
||||||
|
from cepces.krb5 import types as ktypes
|
||||||
|
from cepces.krb5.core import Context, Keytab, Principal
|
||||||
|
@@ -117,8 +118,9 @@ def _init_ccache(self):
|
||||||
|
os.environ["KRB5CCNAME"] = ccache_name
|
||||||
|
|
||||||
|
def _init_transport(self):
|
||||||
|
- self._transport = HTTPKerberosAuth(principal=self._config['name'],
|
||||||
|
- delegate=True)
|
||||||
|
+ name = gssapi.Name(self._config['name'], gssapi.NameType.user)
|
||||||
|
+ creds = gssapi.Credentials(name=name, usage="initiate")
|
||||||
|
+ self._transport = HTTPSPNEGOAuth(creds=creds, delegate=True)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def transport(self):
|
||||||
|
diff --git a/requirements.txt b/requirements.txt
|
||||||
|
index e111f9d..eb560d3 100644
|
||||||
|
--- a/requirements.txt
|
||||||
|
+++ b/requirements.txt
|
||||||
|
@@ -1,3 +1,3 @@
|
||||||
|
cryptography>=1.2
|
||||||
|
requests
|
||||||
|
-requests_kerberos>=0.9
|
||||||
|
+requests_gssapi>=1.2.2
|
51
19.patch
Normal file
51
19.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
From 569860e9cfc083785f18033cd96d24c453b25d09 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Schneider <asn@cryptomilk.org>
|
||||||
|
Date: Mon, 11 Jul 2022 16:37:48 +0200
|
||||||
|
Subject: [PATCH 1/2] setup: Do not install example configs
|
||||||
|
|
||||||
|
Packagers should take care of installing them correctly.
|
||||||
|
---
|
||||||
|
setup.py | 7 -------
|
||||||
|
1 file changed, 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index 480e30f..65c5ebc 100755
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -69,13 +69,6 @@
|
||||||
|
|
||||||
|
data_files=[
|
||||||
|
('/usr/local/libexec/certmonger', ['bin/cepces-submit']),
|
||||||
|
- (
|
||||||
|
- '/usr/local/etc/cepces',
|
||||||
|
- [
|
||||||
|
- 'conf/cepces.conf.dist',
|
||||||
|
- 'conf/logging.conf.dist',
|
||||||
|
- ]
|
||||||
|
- ),
|
||||||
|
],
|
||||||
|
|
||||||
|
install_requires=[],
|
||||||
|
|
||||||
|
From 0d6401a1912370010e81943c81737b4276615a26 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Schneider <asn@cryptomilk.org>
|
||||||
|
Date: Mon, 11 Jul 2022 16:38:31 +0200
|
||||||
|
Subject: [PATCH 2/2] setup: Respect the prefix the user specifies
|
||||||
|
|
||||||
|
---
|
||||||
|
setup.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index 65c5ebc..b0718d2 100755
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -68,7 +68,7 @@
|
||||||
|
],
|
||||||
|
|
||||||
|
data_files=[
|
||||||
|
- ('/usr/local/libexec/certmonger', ['bin/cepces-submit']),
|
||||||
|
+ ('libexec/certmonger', ['bin/cepces-submit']),
|
||||||
|
],
|
||||||
|
|
||||||
|
install_requires=[],
|
240
cepces.spec
Normal file
240
cepces.spec
Normal file
@ -0,0 +1,240 @@
|
|||||||
|
%global selinux_variants targeted
|
||||||
|
%global logdir %{_localstatedir}/log/%{name}
|
||||||
|
%global modulename %{name}
|
||||||
|
%global selinux_package_dir %{_datadir}/selinux/packages
|
||||||
|
|
||||||
|
Name: cepces
|
||||||
|
Version: 0.3.5
|
||||||
|
Release: 6%{?dist}
|
||||||
|
Summary: Certificate Enrollment through CEP/CES
|
||||||
|
|
||||||
|
License: GPLv3+
|
||||||
|
URL: https://github.com/openSUSE/%{name}
|
||||||
|
Source0: https://github.com/openSUSE/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
|
# cepces.conf.dist: server should be pointed to actual CEP host
|
||||||
|
# https://github.com/openSUSE/cepces/issues/15
|
||||||
|
# Merged to master after ver 0.3.5
|
||||||
|
Patch0: https://patch-diff.githubusercontent.com/raw/openSUSE/%{name}/pull/16.patch
|
||||||
|
|
||||||
|
# Replace old requests_kerberos with requests_gssapi
|
||||||
|
Patch1: https://patch-diff.githubusercontent.com/raw/openSUSE/%{name}/pull/18.patch
|
||||||
|
|
||||||
|
# Cleanup for installing the project
|
||||||
|
Patch2: https://patch-diff.githubusercontent.com/raw/openSUSE/%{name}/pull/19.patch
|
||||||
|
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
Requires: python%{python3_pkgversion}-%{name} = %{version}-%{release}
|
||||||
|
|
||||||
|
Recommends: logrotate
|
||||||
|
Supplements: %{name}-certmonger%{?_isa} = %{version}-%{release}
|
||||||
|
Supplements: %{name}-selinux%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description
|
||||||
|
cepces is an application for enrolling certificates through CEP and CES.
|
||||||
|
It requires certmonger to operate.
|
||||||
|
|
||||||
|
Only simple deployments using Microsoft Active Directory Certificate Services
|
||||||
|
have been tested.
|
||||||
|
|
||||||
|
%package -n python%{python3_pkgversion}-%{name}
|
||||||
|
Summary: Python part of %{name}
|
||||||
|
|
||||||
|
BuildRequires: python3dist(setuptools)
|
||||||
|
BuildRequires: python3dist(cryptography) >= 1.2
|
||||||
|
BuildRequires: python3dist(requests)
|
||||||
|
BuildRequires: python3dist(gssapi)
|
||||||
|
BuildRequires: python3dist(requests-gssapi)
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
|
||||||
|
Requires: python3dist(setuptools)
|
||||||
|
Requires: python3dist(cryptography) >= 1.2
|
||||||
|
Requires: python3dist(requests)
|
||||||
|
Requires: python3dist(gssapi)
|
||||||
|
Requires: python3dist(requests-gssapi)
|
||||||
|
|
||||||
|
%description -n python%{python3_pkgversion}-%{name}
|
||||||
|
%{name} is an application for enrolling certificates through CEP and CES.
|
||||||
|
This package provides the Python part for CEP and CES interaction.
|
||||||
|
|
||||||
|
%package certmonger
|
||||||
|
Summary: certmonger integration for %{name}
|
||||||
|
|
||||||
|
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
Requires: certmonger
|
||||||
|
|
||||||
|
%description certmonger
|
||||||
|
Installing %{name}-certmonger adds %{name} as a CA configuration.
|
||||||
|
Uninstall revert the action.
|
||||||
|
|
||||||
|
%package selinux
|
||||||
|
Summary: SELinux support for %{name}
|
||||||
|
|
||||||
|
BuildRequires: selinux-policy-devel
|
||||||
|
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
Requires: selinux-policy
|
||||||
|
Requires(post): selinux-policy-targeted
|
||||||
|
|
||||||
|
%description selinux
|
||||||
|
SELinux support for %{name}
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
%py3_build
|
||||||
|
|
||||||
|
# Build the SELinux module(s).
|
||||||
|
for SELINUXVARIANT in %{selinux_variants}; do
|
||||||
|
make %{?_smp_mflags} -C selinux clean all
|
||||||
|
mv -v selinux/%{name}.pp selinux/%{name}-${SELINUXVARIANT}.pp
|
||||||
|
done
|
||||||
|
|
||||||
|
%install
|
||||||
|
%py3_install
|
||||||
|
|
||||||
|
install -d %{buildroot}%{logdir}
|
||||||
|
|
||||||
|
# Install the SELinux module(s).
|
||||||
|
rm -fv selinux-files.txt
|
||||||
|
|
||||||
|
for SELINUXVARIANT in %{selinux_variants}; do
|
||||||
|
install -d -m 755 %{buildroot}%{selinux_package_dir}/${SELINUXVARIANT}
|
||||||
|
bzip2 selinux/%{name}-${SELINUXVARIANT}.pp
|
||||||
|
MODULE_PATH=%{selinux_package_dir}/${SELINUXVARIANT}/%{modulename}.pp.bz2
|
||||||
|
install -p -m 644 selinux/%{name}-${SELINUXVARIANT}.pp.bz2 \
|
||||||
|
%{buildroot}$MODULE_PATH
|
||||||
|
|
||||||
|
echo $MODULE_PATH >> selinux-files.txt
|
||||||
|
done
|
||||||
|
|
||||||
|
# Configuration files
|
||||||
|
install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}/
|
||||||
|
install -m 644 conf/cepces.conf.dist %{buildroot}%{_sysconfdir}/%{name}/cepces.conf
|
||||||
|
install -m 644 conf/logging.conf.dist %{buildroot}%{_sysconfdir}/%{name}/logging.conf
|
||||||
|
|
||||||
|
# Default logrotate file
|
||||||
|
install -d -m 0755 %{buildroot}%{_sysconfdir}/logrotate.d
|
||||||
|
cat <<EOF>%{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
||||||
|
/var/log/%{name}/*.log {
|
||||||
|
compress
|
||||||
|
delaycompress
|
||||||
|
missingok
|
||||||
|
rotate 4
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
%check
|
||||||
|
# Create a symlink so test can locate cepces_test
|
||||||
|
ln -s tests/cepces_test .
|
||||||
|
%{__python3} setup.py test
|
||||||
|
|
||||||
|
%pre selinux
|
||||||
|
for SELINUXVARIANT in %{selinux_variants}; do
|
||||||
|
%selinux_relabel_pre -s %{SELINUXVARIANT}
|
||||||
|
done
|
||||||
|
|
||||||
|
%post selinux
|
||||||
|
semodule -d %{modulename} &> /dev/null || true;
|
||||||
|
for SELINUXVARIANT in %{selinux_variants}; do
|
||||||
|
MODULE_PATH=%{selinux_package_dir}/${SELINUXVARIANT}/%{modulename}.pp.bz2
|
||||||
|
%selinux_modules_install -s %{SELINUXVARIANT} ${MODULE_PATH}
|
||||||
|
done
|
||||||
|
|
||||||
|
%postun selinux
|
||||||
|
if [ $1 -eq 0 ]; then
|
||||||
|
for SELINUXVARIANT in %{selinux_variants}; do
|
||||||
|
%selinux_modules_uninstall -s %{SELINUXVARIANT} %{modulename}
|
||||||
|
semodule -e %{modulename} &> /dev/null || true;
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
%posttrans selinux
|
||||||
|
for SELINUXVARIANT in %{selinux_variants}; do
|
||||||
|
%selinux_relabel_post -s %{SELINUXVARIANT}
|
||||||
|
done
|
||||||
|
|
||||||
|
%post certmonger
|
||||||
|
# Install the CA into certmonger.
|
||||||
|
if [[ "$1" == "1" ]]; then
|
||||||
|
getcert add-ca -c %{name} \
|
||||||
|
-e %{_libexecdir}/certmonger/%{name}-submit >/dev/null || :
|
||||||
|
fi
|
||||||
|
|
||||||
|
%preun certmonger
|
||||||
|
# Remove the CA from certmonger, unless it's an upgrade.
|
||||||
|
if [[ "$1" == "0" ]]; then
|
||||||
|
getcert remove-ca -c %{name} >/dev/null || :
|
||||||
|
fi
|
||||||
|
|
||||||
|
%files
|
||||||
|
%doc README.rst
|
||||||
|
%dir %{_sysconfdir}/%{name}/
|
||||||
|
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
|
||||||
|
%config(noreplace) %{_sysconfdir}/%{name}/logging.conf
|
||||||
|
%attr(0700,-,-) %dir %{logdir}
|
||||||
|
%dir %{_sysconfdir}/logrotate.d
|
||||||
|
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
||||||
|
|
||||||
|
%files -n python%{python3_pkgversion}-%{name}
|
||||||
|
%license LICENSE
|
||||||
|
%{python3_sitelib}/%{name}
|
||||||
|
%{python3_sitelib}/%{name}-%{version}-py?.*.egg-info
|
||||||
|
|
||||||
|
%files certmonger
|
||||||
|
%{_libexecdir}/certmonger/%{name}-submit
|
||||||
|
|
||||||
|
%files selinux -f selinux-files.txt
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Sun Jul 24 2022 Ding-Yi Chen <dchen@redhat.com> - 0.3.5-6
|
||||||
|
- Review comment #16 addressed
|
||||||
|
- It make more sense that -selinux and -certmonger depends on main package,
|
||||||
|
Not the other round
|
||||||
|
- Recommends: logrotate
|
||||||
|
- Supplements: -selinux, -certmonger
|
||||||
|
|
||||||
|
* Wed Jul 20 2022 Ding-Yi Chen <dchen@redhat.com> - 0.3.5-5
|
||||||
|
- Add Pull request #19
|
||||||
|
- Remove Pull request #17 as it is not accepted
|
||||||
|
- Review comment #13, #14 addressed
|
||||||
|
|
||||||
|
* Mon Jun 27 2022 Ding-Yi Chen <dchen@redhat.com> - 0.3.5-4
|
||||||
|
- Add Pull request #18
|
||||||
|
- Replaces kerberos with gssapi
|
||||||
|
- Replaces requests_kerberos with requests_gssapi
|
||||||
|
|
||||||
|
* Fri Jun 24 2022 Ding-Yi Chen <dchen@redhat.com> - 0.3.5-3
|
||||||
|
- Review comment #4, #7 addressed
|
||||||
|
|
||||||
|
* Wed Jun 22 2022 Ding-Yi Chen <dchen@redhat.com> - 0.3.5-2
|
||||||
|
- Review comment #1 addressed
|
||||||
|
|
||||||
|
* Thu Jun 16 2022 Ding-Yi Chen <dchen@redhat.com> - 0.3.5-1
|
||||||
|
- Initial import to Fedora
|
||||||
|
- Add logrotate
|
||||||
|
- Applied patch for https://github.com/openSUSE/cepces/issues/15
|
||||||
|
|
||||||
|
* Fri Oct 01 2021 Daniel Uvehag <daniel.uvehag@gmail.com> - 0.3.4-1
|
||||||
|
- Fix collections deprecation
|
||||||
|
|
||||||
|
* Fri Oct 01 2021 Daniel Uvehag <daniel.uvehag@gmail.com> - 0.3.4-1
|
||||||
|
- Fix collections deprecation
|
||||||
|
|
||||||
|
* Mon Jul 29 2019 Daniel Uvehag <daniel.uvehag@gmail.com> - 0.3.3-2
|
||||||
|
- Add missing log directory
|
||||||
|
|
||||||
|
* Mon Jul 29 2019 Daniel Uvehag <daniel.uvehag@gmail.com> - 0.3.3-1
|
||||||
|
- Update to version 0.3.3-1
|
||||||
|
|
||||||
|
* Mon Feb 05 2018 Daniel Uvehag <daniel.uvehag@gmail.com> - 0.3.0-1
|
||||||
|
- Update to version 0.3.0-1
|
||||||
|
|
||||||
|
* Thu Feb 01 2018 Daniel Uvehag <daniel.uvehag@gmail.com> - 0.2.1-1
|
||||||
|
- Update to version 0.2.1-1
|
||||||
|
|
||||||
|
* Mon Jun 27 2016 Daniel Uvehag <daniel.uvehag@gmail.com> - 0.1.0-1
|
||||||
|
- Initial package.
|
Loading…
Reference in New Issue
Block a user