diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6333b36 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/mod_md-2.0.8.tar.gz diff --git a/.mod_md.metadata b/.mod_md.metadata new file mode 100644 index 0000000..083e09c --- /dev/null +++ b/.mod_md.metadata @@ -0,0 +1 @@ +6cec32070c6fd83701be0874a2d8b4f30d929d03 SOURCES/mod_md-2.0.8.tar.gz diff --git a/SOURCES/mod_md-2.0.8-duptrim-seg.patch b/SOURCES/mod_md-2.0.8-duptrim-seg.patch new file mode 100644 index 0000000..4267558 --- /dev/null +++ b/SOURCES/mod_md-2.0.8-duptrim-seg.patch @@ -0,0 +1,13 @@ +diff --git a/src/md_result.c b/src/md_result.c +index 4076d5b..0e0b688 100644 +--- a/src/md_result.c ++++ b/src/md_result.c +@@ -32,7 +32,7 @@ + static const char *dup_trim(apr_pool_t *p, const char *s) + { + char *d = apr_pstrdup(p, s); +- apr_collapse_spaces(d, d); ++ if (d) apr_collapse_spaces(d, d); + return d; + } + diff --git a/SOURCES/mod_md-2.0.8-state_dir.patch b/SOURCES/mod_md-2.0.8-state_dir.patch new file mode 100644 index 0000000..970424f --- /dev/null +++ b/SOURCES/mod_md-2.0.8-state_dir.patch @@ -0,0 +1,23 @@ + +Enable state_dir support for 2.4.x. + +--- mod_md-2.0.8/src/mod_md_config.c.state_dir ++++ mod_md-2.0.8/src/mod_md_config.c +@@ -44,7 +44,7 @@ + /* Default settings for the global conf */ + static md_mod_conf_t defmc = { + NULL, /* list of mds */ +-#if AP_MODULE_MAGIC_AT_LEAST(20180906, 2) ++#if 1 + NULL, /* base dir by default state-dir-relative */ + #else + MD_DEFAULT_BASE_DIR, +@@ -898,7 +898,7 @@ + mc->hsts_header = apr_psprintf(p, "max-age=%d", mc->hsts_max_age); + } + +-#if AP_MODULE_MAGIC_AT_LEAST(20180906, 2) ++#if 1 + if (mc->base_dir == NULL) { + mc->base_dir = ap_state_dir_relative(p, MD_DEFAULT_BASE_DIR); + } diff --git a/SPECS/mod_md.spec b/SPECS/mod_md.spec new file mode 100644 index 0000000..012a12e --- /dev/null +++ b/SPECS/mod_md.spec @@ -0,0 +1,80 @@ +# Module Magic Numberfa +%{!?_httpd_mmn: %global _httpd_mmn %(cat %{_includedir}/httpd/.mmn 2>/dev/null || echo 0-0)} + +Name: mod_md +Version: 2.0.8 +Release: 6%{?dist} +Summary: Certificate provisioning using ACME for the Apache HTTP Server +License: ASL 2.0 +URL: https://icing.github.io/mod_md/ +Source0: https://github.com/icing/mod_md/releases/download/v%{version}/mod_md-%{version}.tar.gz +Patch1: mod_md-2.0.8-state_dir.patch +Patch2: mod_md-2.0.8-duptrim-seg.patch +BuildRequires: gcc +BuildRequires: pkgconfig, httpd-devel >= 2.4.37, openssl-devel >= 1.1.0, jansson-devel, libcurl-devel +Requires: httpd-mmn = %{_httpd_mmn}, mod_ssl >= 1:2.4.37-17 +Conflicts: httpd < 2.4.37-17 +Epoch: 1 + +%description +This module manages common properties of domains for one or more +virtual hosts. Specifically it can use the ACME protocol to automate +certificate provisioning. Certificates will be configured for managed +domains and their virtual hosts automatically, including at renewal. + +%prep +%setup -q +%patch1 -p1 -b .state_dir +%patch2 -p1 -b .dup_trim + +%build +%configure +# remove rpath +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + +%make_build V=1 + +%check +%make_build check + +%install +%make_install +rm -rf %{buildroot}/etc/httpd/share/doc/ + +# remove links and rename SO files +rm -f %{buildroot}%{_httpd_moddir}/mod_md.so +mv %{buildroot}%{_httpd_moddir}/mod_md.so.0.0.0 %{buildroot}%{_httpd_moddir}/mod_md.so + +# create configuration +mkdir -p %{buildroot}%{_httpd_modconfdir} +echo "LoadModule md_module modules/mod_md.so" > %{buildroot}%{_httpd_modconfdir}/01-md.conf + +%files +%doc README.md ChangeLog AUTHORS +%license LICENSE +%config(noreplace) %{_httpd_modconfdir}/01-md.conf +%{_httpd_moddir}/mod_md.so +%{_bindir}/a2md + +%changelog +* Mon Dec 09 2019 Lubos Uhliarik - 1:2.0.8-6 +- Resolves: #1781263 - mod_md ACMEv1 crash + +* Thu Oct 03 2019 Lubos Uhliarik - 1:2.0.8-5 +- Resolves: #1747898 - add mod_md package + +* Fri Aug 30 2019 Joe Orton - 1:2.0.8-4 +- require mod_ssl, update package description + +* Fri Aug 30 2019 Joe Orton - 1:2.0.8-3 +- rebuild against 2.4.41 + +* Thu Jul 25 2019 Fedora Release Engineering - 1:2.0.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Jul 12 2019 Joe Orton - 1:2.0.8-1 +- update to 2.0.8 + +* Tue Jun 11 2019 Lubos Uhliarik - 2.0.3-1 +- Initial import (#1719248).