initial commit of file from CVS for libreswan on Thu Oct 9 11:50:37 AEDT 2025
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
*.tar.gz filter=lfs diff=lfs merge=lfs -text
 | 
			
		||||
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
*.rpm
 | 
			
		||||
*.log
 | 
			
		||||
*spec-20*
 | 
			
		||||
							
								
								
									
										21
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
# Makefile for source rpm: libreswan
 | 
			
		||||
# $Id: Makefile,v 1.1 2021/03/01 10:43:03 brianr Exp $
 | 
			
		||||
NAME := libreswan
 | 
			
		||||
SPECFILE = $(firstword $(wildcard *.spec))
 | 
			
		||||
 | 
			
		||||
define find-makefile-common
 | 
			
		||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
 | 
			
		||||
 | 
			
		||||
ifeq ($(MAKEFILE_COMMON),)
 | 
			
		||||
# attept a checkout
 | 
			
		||||
define checkout-makefile-common
 | 
			
		||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
include $(MAKEFILE_COMMON)
 | 
			
		||||
@@ -1,3 +1,9 @@
 | 
			
		||||
# libreswan
 | 
			
		||||
 | 
			
		||||
3rd Party (Maintained by Koozali) git repo for libreswan smecontribs
 | 
			
		||||
3rd Party (Maintained by Koozali) git repo for libreswan smecontribs
 | 
			
		||||
 | 
			
		||||
## Description
 | 
			
		||||
 | 
			
		||||
<br />*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.*
 | 
			
		||||
*Once it has been checked, then this comment will be deleted*
 | 
			
		||||
<br />
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								contriborbase
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								contriborbase
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
contribs10
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								ikev1_dsa.fax.bz2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								ikev1_dsa.fax.bz2
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								ikev1_psk.fax.bz2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								ikev1_psk.fax.bz2
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								ikev2.fax.bz2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								ikev2.fax.bz2
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										257
									
								
								libreswan.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										257
									
								
								libreswan.spec
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,257 @@
 | 
			
		||||
# These are rpm macros and are 0 or 1
 | 
			
		||||
%global _hardened_build 1
 | 
			
		||||
%global with_efence 0
 | 
			
		||||
%global with_development 0
 | 
			
		||||
%global with_cavstests 1
 | 
			
		||||
# There is no new enough unbound on rhel7
 | 
			
		||||
%global with_dnssec 0
 | 
			
		||||
%global nss_version 3.79-4
 | 
			
		||||
# Libreswan config options
 | 
			
		||||
# For RHEL7 we need USE_NSS_KDF=false and USE_FIPSCHECK=true
 | 
			
		||||
# Note that this means libreswan needs its own FIPS certification
 | 
			
		||||
%global libreswan_config \\\
 | 
			
		||||
    FINALLIBEXECDIR=%{_libexecdir}/ipsec \\\
 | 
			
		||||
    FINALMANDIR=%{_mandir} \\\
 | 
			
		||||
    FINALNSSDIR=%{_sysconfdir}/ipsec.d \\\
 | 
			
		||||
    INITSYSTEM=systemd \\\
 | 
			
		||||
    PREFIX=%{_prefix} \\\
 | 
			
		||||
    PYTHON_BINARY=%{__python2} \\\
 | 
			
		||||
    SHELL_BINARY=/bin/sh \\\
 | 
			
		||||
    USE_AUTHPAM=true \\\
 | 
			
		||||
    USE_DNSSEC=%{USE_DNSSEC} \\\
 | 
			
		||||
    USE_FIPSCHECK=true \\\
 | 
			
		||||
    USE_LABELED_IPSEC=true \\\
 | 
			
		||||
    USE_LDAP=true \\\
 | 
			
		||||
    USE_LIBCAP_NG=true \\\
 | 
			
		||||
    USE_LIBCURL=true \\\
 | 
			
		||||
    USE_NM=true \\\
 | 
			
		||||
    USE_NSS_IPSEC_PROFILE=true \\\
 | 
			
		||||
    USE_NSS_KDF=false \\\
 | 
			
		||||
    USE_SECCOMP=true \\\
 | 
			
		||||
    USE_XFRM_INTERFACE_IFLA_HEADER=true \\\
 | 
			
		||||
%{nil}
 | 
			
		||||
 | 
			
		||||
#global prever dr1
 | 
			
		||||
 | 
			
		||||
Name: libreswan
 | 
			
		||||
Summary: Internet Key Exchange (IKEv1 and IKEv2) implementation for IPsec
 | 
			
		||||
Version: 4.15
 | 
			
		||||
Release: %{?prever:0.}2%{?prever:.%{prever}}%{?dist}
 | 
			
		||||
License: GPLv2
 | 
			
		||||
Url: https://libreswan.org/
 | 
			
		||||
Source0: https://download.libreswan.org/%{?prever:development/}%{name}-%{version}%{?prever}.tar.gz
 | 
			
		||||
%if 0%{with_cavstests}
 | 
			
		||||
Source10: https://download.libreswan.org/cavs/ikev1_dsa.fax.bz2
 | 
			
		||||
Source11: https://download.libreswan.org/cavs/ikev1_psk.fax.bz2
 | 
			
		||||
Source12: https://download.libreswan.org/cavs/ikev2.fax.bz2
 | 
			
		||||
%endif
 | 
			
		||||
 | 
			
		||||
BuildRequires: gcc make
 | 
			
		||||
BuildRequires: audit-libs-devel
 | 
			
		||||
BuildRequires: bison
 | 
			
		||||
BuildRequires: curl-devel
 | 
			
		||||
BuildRequires: fipscheck-devel
 | 
			
		||||
BuildRequires: flex
 | 
			
		||||
BuildRequires: hostname
 | 
			
		||||
BuildRequires: libcap-ng-devel
 | 
			
		||||
BuildRequires: libevent-devel
 | 
			
		||||
BuildRequires: libseccomp-devel
 | 
			
		||||
BuildRequires: libselinux-devel
 | 
			
		||||
BuildRequires: nspr-devel
 | 
			
		||||
BuildRequires: nss-devel >= %{nss_version}
 | 
			
		||||
BuildRequires: nss-tools
 | 
			
		||||
BuildRequires: openldap-devel
 | 
			
		||||
BuildRequires: pam-devel
 | 
			
		||||
BuildRequires: pkgconfig
 | 
			
		||||
BuildRequires: redhat-rpm-config
 | 
			
		||||
BuildRequires: systemd-devel
 | 
			
		||||
BuildRequires: xmlto
 | 
			
		||||
%if 0%{with_efence}
 | 
			
		||||
BuildRequires: ElectricFence
 | 
			
		||||
%endif
 | 
			
		||||
%if 0%{with_dnssec}
 | 
			
		||||
BuildRequires: ldns-devel
 | 
			
		||||
BuildRequires: unbound-devel >= 1.6.0
 | 
			
		||||
Requires: unbound-libs >= 1.6.0
 | 
			
		||||
%global USE_DNSSEC true
 | 
			
		||||
%else
 | 
			
		||||
%global USE_DNSSEC false
 | 
			
		||||
%endif
 | 
			
		||||
Requires: coreutils
 | 
			
		||||
Requires: fipscheck%{_isa}
 | 
			
		||||
Requires: iproute
 | 
			
		||||
Requires: logrotate
 | 
			
		||||
Requires: nss >= %{nss_version}
 | 
			
		||||
Requires: nss-softokn
 | 
			
		||||
Requires: nss-tools
 | 
			
		||||
%{?systemd_requires}
 | 
			
		||||
 | 
			
		||||
Conflicts: openswan < %{version}-%{release}
 | 
			
		||||
Obsoletes: openswan < %{version}-%{release}
 | 
			
		||||
Provides: openswan = %{version}-%{release}
 | 
			
		||||
Provides: openswan-doc = %{version}-%{release}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%description
 | 
			
		||||
Libreswan is a free implementation of IPsec & IKE for Linux.  IPsec is
 | 
			
		||||
the Internet Protocol Security and uses strong cryptography to provide
 | 
			
		||||
both authentication and encryption services.  These services allow you
 | 
			
		||||
to build secure tunnels through untrusted networks.  Everything passing
 | 
			
		||||
through the untrusted net is encrypted by the ipsec gateway machine and
 | 
			
		||||
decrypted by the gateway at the other end of the tunnel.  The resulting
 | 
			
		||||
tunnel is a virtual private network or VPN.
 | 
			
		||||
 | 
			
		||||
This package contains the daemons and userland tools for setting up
 | 
			
		||||
Libreswan.
 | 
			
		||||
 | 
			
		||||
Libreswan also supports IKEv2 (RFC7296) and Secure Labeling
 | 
			
		||||
 | 
			
		||||
Libreswan is based on Openswan-2.6.38 which in turn is based on FreeS/WAN-2.04
 | 
			
		||||
 | 
			
		||||
%prep
 | 
			
		||||
%setup -q -n libreswan-%{version}%{?prever}
 | 
			
		||||
 | 
			
		||||
%build
 | 
			
		||||
make %{?_smp_mflags} \
 | 
			
		||||
%if 0%{with_development}
 | 
			
		||||
    OPTIMIZE_CFLAGS="%{?_hardened_cflags}" \
 | 
			
		||||
%else
 | 
			
		||||
    OPTIMIZE_CFLAGS="%{optflags}" \
 | 
			
		||||
%endif
 | 
			
		||||
%if 0%{with_efence}
 | 
			
		||||
    USE_EFENCE=true \
 | 
			
		||||
%endif
 | 
			
		||||
    USERLINK="%{?__global_ldflags}" \
 | 
			
		||||
    WERROR_CFLAGS="-Werror -Wno-error=address -Wno-missing-braces -Wno-missing-field-initializers" \
 | 
			
		||||
    %{libreswan_config} \
 | 
			
		||||
    programs
 | 
			
		||||
FS=$(pwd)
 | 
			
		||||
 | 
			
		||||
# Add generation of HMAC checksums of the final stripped binaries
 | 
			
		||||
%define __spec_install_post \
 | 
			
		||||
    %{?__debug_package:%{__debug_install_post}} \
 | 
			
		||||
    %{__arch_install_post} \
 | 
			
		||||
    %{__os_install_post} \
 | 
			
		||||
    fipshmac -d %{buildroot}%{_libdir}/fipscheck %{buildroot}%{_libexecdir}/ipsec/pluto
 | 
			
		||||
%{nil}
 | 
			
		||||
 | 
			
		||||
%install
 | 
			
		||||
make \
 | 
			
		||||
    DESTDIR=%{buildroot} \
 | 
			
		||||
    %{libreswan_config} \
 | 
			
		||||
    install
 | 
			
		||||
FS=$(pwd)
 | 
			
		||||
rm -rf %{buildroot}/usr/share/doc/libreswan
 | 
			
		||||
rm -rf %{buildroot}%{_libexecdir}/ipsec/*check
 | 
			
		||||
 | 
			
		||||
install -d -m 0755 %{buildroot}%{_rundir}/pluto
 | 
			
		||||
install -d %{buildroot}%{_sbindir}
 | 
			
		||||
 | 
			
		||||
install -d %{buildroot}%{_sysctldir}
 | 
			
		||||
install -m 0644 packaging/rhel/libreswan-sysctl.conf \
 | 
			
		||||
    %{buildroot}%{_sysctldir}/50-libreswan.conf
 | 
			
		||||
 | 
			
		||||
mkdir -p %{buildroot}%{_libdir}/fipscheck
 | 
			
		||||
install -d %{buildroot}%{_sysconfdir}/prelink.conf.d/
 | 
			
		||||
install -m644 packaging/rhel/libreswan-prelink.conf \
 | 
			
		||||
    %{buildroot}%{_sysconfdir}/prelink.conf.d/libreswan-fips.conf
 | 
			
		||||
 | 
			
		||||
echo "include /etc/ipsec.d/*.secrets" \
 | 
			
		||||
    > %{buildroot}%{_sysconfdir}/ipsec.secrets
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%if 0%{with_cavstests}
 | 
			
		||||
%check
 | 
			
		||||
# There is an elaborate upstream testing infrastructure which we do not
 | 
			
		||||
# run here.
 | 
			
		||||
# We only run the CAVS tests here.
 | 
			
		||||
cp %{SOURCE10} %{SOURCE11} %{SOURCE12} .
 | 
			
		||||
bunzip2 *.fax.bz2
 | 
			
		||||
 | 
			
		||||
# work around for older xen based machines
 | 
			
		||||
export NSS_DISABLE_HW_GCM=1
 | 
			
		||||
 | 
			
		||||
: starting CAVS test for IKEv2
 | 
			
		||||
%{buildroot}%{_libexecdir}/ipsec/cavp -v2 ikev2.fax | \
 | 
			
		||||
    diff -u ikev2.fax - > /dev/null
 | 
			
		||||
: starting CAVS test for IKEv1 RSASIG
 | 
			
		||||
%{buildroot}%{_libexecdir}/ipsec/cavp -v1dsa ikev1_dsa.fax | \
 | 
			
		||||
    diff -u ikev1_dsa.fax - > /dev/null
 | 
			
		||||
: starting CAVS test for IKEv1 PSK
 | 
			
		||||
%{buildroot}%{_libexecdir}/ipsec/cavp -v1psk ikev1_psk.fax | \
 | 
			
		||||
    diff -u ikev1_psk.fax - > /dev/null
 | 
			
		||||
: CAVS tests passed
 | 
			
		||||
 | 
			
		||||
# Some of these tests will show ERROR for negative testing - it will exit on real errors
 | 
			
		||||
%{buildroot}%{_libexecdir}/ipsec/algparse -tp || { echo prooposal test failed; exit 1; }
 | 
			
		||||
%{buildroot}%{_libexecdir}/ipsec/algparse -ta || { echo algorithm test failed; exit 1; }
 | 
			
		||||
: Algorithm parser tests passed
 | 
			
		||||
 | 
			
		||||
# self test for pluto daemon - this also shows which algorithms it allows in FIPS mode
 | 
			
		||||
tmpdir=$(mktemp -d /tmp/libreswan-XXXXX)
 | 
			
		||||
certutil -N -d sql:$tmpdir --empty-password
 | 
			
		||||
%{buildroot}%{_libexecdir}/ipsec/pluto --selftest --nssdir $tmpdir --rundir $tmpdir
 | 
			
		||||
: pluto self-test passed - verify FIPS algorithms allowed is still compliant with NIST
 | 
			
		||||
 | 
			
		||||
%endif
 | 
			
		||||
 | 
			
		||||
%post
 | 
			
		||||
%systemd_post ipsec.service
 | 
			
		||||
%sysctl_apply 50-libreswan.conf
 | 
			
		||||
prelink -u %{_libexecdir}/ipsec/* 2>/dev/null || :
 | 
			
		||||
 | 
			
		||||
%preun
 | 
			
		||||
%systemd_preun ipsec.service
 | 
			
		||||
 | 
			
		||||
%postun
 | 
			
		||||
%systemd_postun_with_restart ipsec.service
 | 
			
		||||
 | 
			
		||||
%files
 | 
			
		||||
%license LICENSE COPYING
 | 
			
		||||
%doc CHANGES CREDITS README*
 | 
			
		||||
%doc docs/*.* docs/examples
 | 
			
		||||
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/ipsec.conf
 | 
			
		||||
%attr(0600,root,root) %config(noreplace) %{_sysconfdir}/ipsec.secrets
 | 
			
		||||
%attr(0700,root,root) %dir %{_sysconfdir}/ipsec.d
 | 
			
		||||
%attr(0700,root,root) %dir %{_sysconfdir}/ipsec.d/policies
 | 
			
		||||
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/ipsec.d/policies/*
 | 
			
		||||
%attr(0644,root,root) %config(noreplace) %{_sysctldir}/50-libreswan.conf
 | 
			
		||||
%attr(0755,root,root) %dir %{_rundir}/pluto
 | 
			
		||||
%attr(0644,root,root) %{_tmpfilesdir}/libreswan.conf
 | 
			
		||||
%attr(0644,root,root) %{_unitdir}/ipsec.service
 | 
			
		||||
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/pam.d/pluto
 | 
			
		||||
%config(noreplace) %{_sysconfdir}/logrotate.d/libreswan
 | 
			
		||||
%{_sbindir}/ipsec
 | 
			
		||||
%{_libexecdir}/ipsec
 | 
			
		||||
%doc %{_mandir}/*/*
 | 
			
		||||
%{_libdir}/fipscheck/pluto.hmac
 | 
			
		||||
# We own the directory so we don't have to require prelink
 | 
			
		||||
%dir %{_sysconfdir}/prelink.conf.d/
 | 
			
		||||
%{_sysconfdir}/prelink.conf.d/libreswan-fips.conf
 | 
			
		||||
 | 
			
		||||
%changelog
 | 
			
		||||
* Thu Oct 09 2025 BogusDateBot
 | 
			
		||||
- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday,
 | 
			
		||||
  by assuming the date is correct and changing the weekday.
 | 
			
		||||
 | 
			
		||||
* Tue Apr 16 2024 John Crisp <jcrisp@safeandsoundit.co.uk> 4.15-2
 | 
			
		||||
- build for Koozali Server
 | 
			
		||||
- needs libreswan-prelink.conf adding to the tar
 | 
			
		||||
 | 
			
		||||
* Mon Apr 15 2024 Team Libreswan <team@libreswan.org> - 4.15-1
 | 
			
		||||
- Automated build from release tar ball
 | 
			
		||||
 | 
			
		||||
* Wed Mar 13 2024 John Crisp <jcrisp@safeandsoundit.co.uk> 4.14-2
 | 
			
		||||
- build for Koozali SME Server
 | 
			
		||||
- needs libreswan-prelink.conf adding to the tar
 | 
			
		||||
 | 
			
		||||
* Mon Mar 11 2024 Team Libreswan <team@libreswan.org> - 4.14-1
 | 
			
		||||
- Automated build from release tar ball
 | 
			
		||||
 | 
			
		||||
* Sat Feb 10 2024 John Crisp <jcrisp@safeandsoundit.co.uk> 4.12-2
 | 
			
		||||
- build for Koozali SME Server
 | 
			
		||||
- needs libreswan-sysctl.conf adding to the tar
 | 
			
		||||
 | 
			
		||||
* Tue Aug  8 2023 Team Libreswan <team@libreswan.org> - 4.12-1
 | 
			
		||||
- Automated build from release tar ball
 | 
			
		||||
		Reference in New Issue
	
	Block a user