From 4f5b6daa7ff5311e0e77fc169eda1a4b5d936d6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zoran=20Peri=C4=8Di=C4=87?= Date: Sat, 15 Feb 2025 02:47:05 +0100 Subject: [PATCH] v1.0.0 --- mod_ip_whitelist-1.0.0.tar.gz | Bin 0 -> 30642 bytes mod_ip_whitelist.spec | 50 ++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 mod_ip_whitelist-1.0.0.tar.gz create mode 100644 mod_ip_whitelist.spec diff --git a/mod_ip_whitelist-1.0.0.tar.gz b/mod_ip_whitelist-1.0.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..abe2039de4046942d6491731c07e1e364caf1588 GIT binary patch literal 30642 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 literal 0 HcmV?d00001 diff --git a/mod_ip_whitelist.spec b/mod_ip_whitelist.spec new file mode 100644 index 0000000..cb8dfef --- /dev/null +++ b/mod_ip_whitelist.spec @@ -0,0 +1,50 @@ +Name: mod_ip_whitelist +Version: 1.0.0 +Release: %autorelease +Summary: IP Whitelist module for Apache + +License: GPL-3.0 +URL: https://github.com/zepricic/mod_ip_whitelist +Source0: https://github.com/zpericic/mod_ip_whitelist/releases/download/v%{version}/%name-%{version}.tar.gz + +BuildRequires: httpd-devel +BuildRequires: libtool, make, cmake +BuildRequires: git +Requires: httpd-mmn = %{_httpd_mmn} +Requires: krb5-libs >= 1.11.5 + +%description +mod_ip_whitelist allows access to the server to be controlled based on +the IP address of the remote client. You could white list client which +you like and all are served with configurable status code, 403 by +default. + +%prep +%autosetup -S git_am + +%build +export APXS=%{_httpd_apxs} +%cmake +%cmake_build + +%install +%{__rm} -rf %{buildroot} + +mkdir -p %{buildroot}%{_httpd_moddir} + +%cmake_install + +# Apache configuration for the module +echo "LoadModule ip_whitelist_module modules/mod_ip_whitelist.so" > 10-ip_whitelist.conf +mkdir -p %{buildroot}%{_httpd_modconfdir} +install -m 644 10-ip_whitelist.conf %{buildroot}%{_httpd_modconfdir} + +%files +%doc +%defattr(-,root,root) +%doc README.md COPYING +%config(noreplace) %{_httpd_modconfdir}/10-ip_whitelist.conf +%{_httpd_moddir}/mod_ip_whitelist.so + +%changelog +%autochangelog