Blob Blame History Raw
Name:		pptp
Version:	1.7.2
Release:	20%{?dist}
Summary:	Point-to-Point Tunneling Protocol (PPTP) Client
Group:		Applications/Internet
License:	GPLv2+
URL:		http://pptpclient.sourceforge.net/
Source0:	http://downloads.sf.net/pptpclient/pptp-%{version}.tar.gz
Source1:	pptp-tmpfs.conf
Patch0:		pptp-1.7.2-compat.patch
Patch1:		pptp-1.7.2-ip-path.patch
Patch2:		pptp-1.7.2-pptpsetup.patch
Patch3:		pptp-1.7.2-makedeps.patch
Patch4:		pptp-1.7.2-pptpsetup-encrypt.patch
Patch5:		pptp-1.7.2-pptpsetup-mppe.patch
Patch6:		pptp-1.7.2-waitpid.patch
Patch7:		pptp-1.7.2-conn-free.patch
Patch8:		pptp-1.7.2-conn-free2.patch
Patch9:		pptp-1.7.2-call-disconnect-notify.patch
Patch10:	pptp-1.7.2-so_mark.patch
Patch11:	pptp-1.7.2-nohostroute-option.patch
Patch12:	pptp-1.7.2-parallel-build.patch
Patch13:	pptp-1.7.2-fsf-update.patch
Patch14:	pptp-1.7.2-sign-compare.patch
Patch15:	pptp-1.7.2-const.patch
Patch16:	pptp-1.7.2-field-init.patch
Patch17:	pptp-1.7.2-unused.patch
Patch18:	pptp-1.7.2-prototype.patch
Patch19:	pptp-1.7.2-nested-externs.patch
Patch20:	pptp-1.7.2-aliasing.patch
Patch21:	pptp-1.7.2-options.pptp.patch
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(id -nu)
BuildRequires:	/usr/bin/pod2man
Requires:	ppp >= 2.4.2, /sbin/ip
%if 0%{?fedora} > 14
Requires:	systemd-units
%endif

%description
Client for the proprietary Microsoft Point-to-Point Tunneling
Protocol, PPTP. Allows connection to a PPTP based VPN as used
by employers and some cable and ADSL service providers.

%package setup
Summary:	PPTP Tunnel Configuration Script
Group:		Applications/Internet
Requires:	%{name} = %{version}-%{release}

%description setup
This package provides a simple configuration script for setting up PPTP
tunnels.

%prep
%setup -q

# Remove reference to stropts.h, not shipped in F9 onwards (applied upstream)
%patch0 -p0 -b .compat

# Make location of "ip" binary build-time configurable (applied upstream)
%patch1 -p0 -b .ip-path

# Retain permissions on /etc/ppp/chap-secrets (#492090, applied upstream)
%patch2 -p0 -b .bz492090

# Fix Makefile dependencies to support parallel make (applied upstream)
%patch3 -p0 -b .makedeps
%patch12 -p0 -b .parallel

# Don't check for MPPE capability in kernel or pppd unless we're creating a
# tunnel that requires encryption (applied upstream)
%patch4 -p0 -b .encrypt

# Don't check for MPPE capability in kernel and pppd at all because current
# Fedora releases and EL ≥ 5 include MPPE support out of the box (#502967)
%patch5 -p1 -b .mppe

# Fix waitpid usage (upstream patch)
%patch6 -p0 -b .waitpid

# Move free of connection struct out of main loop (upstream patch)
%patch7 -p0 -b .conn-free

# Avoid using connection struct after it is freed (upstream patch)
%patch8 -p0 -b .conn-free2

# Add call ID of outgoing call so that Call-Disconnect-Notify from peer causes
# correct disconnection sequence (upstream patch)
%patch9 -p1 -b .cdn

# Add support for setting SO_MARK for the PPTP TCP control connection as well
# as on the GRE packets (upstream patch)
%patch10 -p1 -b .so_mark

# Implement the --nohostroute option that routing.c talks about (upstream patch)
%patch11 -p1 -b .nohostroute

# Update the FSF address references and GPLv2 license text (upstream patch)
%patch13 -p0 -b .fsf

# Fix comparisons between signed and unsigned integers (upstream patch)
%patch14 -p1 -b .sign-compare

# Fix const usage (upstream patch)
%patch15 -p1 -b .const

# Add missing field initializers (upstream patch)
%patch16 -p1 -b .field

# Suppress warnings about possibly unused variables (upstream patch)
%patch17 -p1 -b .unused

# Fix declarations that are not prototypes (upstream patch)
%patch18 -p1 -b .prototype

# Fix warnings about nested externs (upstream patch)
%patch19 -p1 -b .nested

# Fix aliasing issues (upstream patch)
%patch20 -p1 -b .alias

# Additional commentary in options.pptp regarding encryption (upstream patch)
%patch21 -b .options-comments

# Pacify rpmlint
perl -pi -e 's/install -o root -m 555 pptp/install -m 755 pptp/;' Makefile

%build
OUR_CFLAGS="-Wall %{optflags} -Wextra -Wstrict-aliasing=2 -Wnested-externs -Wstrict-prototypes"
make %{?_smp_mflags} CFLAGS="$OUR_CFLAGS" IP=/sbin/ip

%install
rm -rf %{buildroot}
make DESTDIR=%{buildroot} install
install -d -m 750 %{buildroot}%{_localstatedir}/run/pptp

# Make sure /var/run/pptp exists at boot time for systems
# with /var/run on tmpfs (#656672)
%if 0%{?fedora} > 14
install -d -m 755 %{buildroot}%{_prefix}/lib/tmpfiles.d
install -p -m 644 %{SOURCE1} %{buildroot}%{_prefix}/lib/tmpfiles.d/pptp.conf
%endif

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING DEVELOPERS NEWS README TODO USING
%doc ChangeLog Documentation/DESIGN.PPTP PROTOCOL-SECURITY
%if 0%{?fedora} > 14
%{_prefix}/lib/tmpfiles.d/pptp.conf
%endif
%{_sbindir}/pptp
%{_mandir}/man8/pptp.8*
%dir %attr(750,root,root) %{_localstatedir}/run/pptp/
%config(noreplace) %{_sysconfdir}/ppp/options.pptp

%files setup
%defattr(-,root,root,-)
%{_sbindir}/pptpsetup
%{_mandir}/man8/pptpsetup.8*

%changelog
* Thu Feb 14 2013 Paul Howarth <paul@city-fan.org> 1.7.2-20.0.cf
- BR: /usr/bin/pod2man for generation of pptpsetup man page

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.2-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Tue Nov 27 2012 Paul Howarth <paul@city-fan.org> 1.7.2-18
- Don't hard-code /etc (#880574)

* Fri Aug 31 2012 Paul Howarth <paul@city-fan.org> 1.7.2-17
- Add note in options.pptp about MPPE not being available in FIPS mode
  (#845112)
- Add note in options.pptp about PPTP with MSCHAP-V2 being insecure

* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> 1.7.2-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Wed Jul  4 2012 Paul Howarth <paul@city-fan.org> 1.7.2-15
- Move tmpfiles.d config from %%{_sysconfdir} to %%{_prefix}/lib

* Wed Jan  4 2012 Paul Howarth <paul@city-fan.org> 1.7.2-14
- Build with warning-fix patches to address occasional segfaults (#749455)
- Patches have all now been merged upstream

* Wed Nov 30 2011 Paul Howarth <paul@city-fan.org> 1.7.2-13.2
- Add patch to fix highly-parallel build (e.g. -j16)
- Add additional compiler warning flags to highlight questionable code
- Add patch to fix comparisons between signed and unsigned integers
- Add patch to fix const usage
- Add patch to fix missing field initializers
- Add patch to suppress warnings about possibly unused variables
- Add patch to fix declarations that are not prototypes
- Add patch to fix warnings about nested externs
- Add patch to fix dubious typecasts that violate strict-aliasing rules
- Update the FSF address references and GPLv2 license text
- Use default optimization level (-O2) again

* Fri Nov 11 2011 Paul Howarth <paul@city-fan.org> 1.7.2-13.1
- Drop compiler optimization level to -O0 as per upstream in attempt to
  resolve occasional segfault in pptpcm (#749455)
- Add patch to fix highly-parallel build (e.g. -j16)

* Tue Nov  8 2011 Paul Howarth <paul@city-fan.org> 1.7.2-13
- Patch to fix broken Call-Disconnect-Notify code accepted upstream
- Add upstream patch to support setting SO_MARK for the PPTP TCP control
  connection as well as on the GRE packets
- Add upstream patch to implement the --nohostroute option
- Nobody else likes macros for commands

* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> 1.7.2-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Tue Nov 30 2010 Paul Howarth <paul@city-fan.org> 1.7.2-11
- Require systemd-units for ownership of /etc/tmpfiles.d directory
- Fix Call-Disconnect-Notify operation

* Thu Nov 25 2010 Paul Howarth <paul@city-fan.org> 1.7.2-10
- Add /etc/tmpfiles.d/pptp.conf to create /var/run/pptp at boot time for
  systems with /var/run on tmpfs (#656672)

* Wed Jun 16 2010 Paul Howarth <paul@city-fan.org> 1.7.2-9
- Add some fixes from CVS:
  - Fix waitpid usage
  - Move free of connection struct out of main loop
  - Avoid using connection struct after it is freed

* Thu Sep 24 2009 Paul Howarth <paul@city-fan.org> 1.7.2-8
- Split pptpsetup into subpackage to avoid perl dependency (#524972)

* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Mon Jun  1 2009 Paul Howarth <paul@city-fan.org> 1.7.2-6
- Don't check for MPPE capability in kernel and pppd unless we're creating a
  tunnel that requires encryption
- Don't check for MPPE capability in kernel and pppd at all because current
  Fedora releases and EL >= 5 include MPPE support out of the box (#502967)

* Wed Mar 25 2009 Paul Howarth <paul@city-fan.org> 1.7.2-5
- Retain permissions on /etc/ppp/chap-secrets when using pptpsetup (#492090)
- Use upstream versions of patches
- Re-enable parallel build; Makefile dependencies now fixed
- Use perl rather than sed to edit Makefile, for spec compatibility with
  ancient distro releases

* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Mon May 19 2008 Paul Howarth <paul@city-fan.org> 1.7.2-3
- Add dependency on /sbin/ip
- Disable parallel make - object files are missing dependency on config.h

* Mon May 19 2008 Paul Howarth <paul@city-fan.org> 1.7.2-2
- Use /sbin/ip, not /bin/ip for routing

* Wed May 14 2008 Paul Howarth <paul@city-fan.org> 1.7.2-1
- Update to 1.7.2
- New script and manpage: pptpsetup
- Add patch to remove reference to stropts.h, not shipped in F9 onwards

* Wed Feb 13 2008 Paul Howarth <paul@city-fan.org> 1.7.1-4
- Rebuild with gcc 4.3.0 for Fedora 9

* Fri Aug 24 2007 Paul Howarth <paul@city-fan.org> 1.7.1-3
- Change download URL from df.sf.net to downloads.sf.net
- Expand tabs in spec
- Clarify license as GPL version 2 or later

* Wed Aug 30 2006 Paul Howarth <paul@city-fan.org> 1.7.1-2
- FE6 mass rebuild

* Mon Feb 13 2006 Paul Howarth <paul@city-fan.org> 1.7.1-1
- new upstream version 1.7.1 (fixes #166394)
- include new document PROTOCOL-SECURITY
- cosmetic change: replace variables with macros

* Wed Aug 10 2005 Paul Howarth <paul@city-fan.org> 1.7.0-2
- own directory %%{_localstatedir}/run/pptp

* Thu Jul 28 2005 Paul Howarth <paul@city-fan.org> 1.7.0-1
- new upstream version 1.7.0
- remove patch, included upstream
- edit Makefile to prevent attempted chown in %%install
- remove redundant %%attr tag in %%files
- honour $RPM_OPT_FLAGS
- ensure directories have correct permissions

* Fri May 27 2005 Paul Howarth <paul@city-fan.org> 1.6.0-5
- bump and rebuild

* Tue May 17 2005 Paul Howarth <paul@city-fan.org> 1.6.0-4
- rebuild with dist tags

* Tue May 10 2005 Paul Howarth <paul@city-fan.org> 1.6.0-3
- fix URL for SOURCE0 not to point to a specific sf.net mirror

* Tue May 10 2005 Paul Howarth <paul@city-fan.org> 1.6.0-2
- Weed out documentation useful only to developers
- Add dist tag
- Use full URL for SOURCE0
- Fix permissions on %%{_sbindir}/pptp

* Fri May  6 2005 Paul Howarth <paul@city-fan.org> 1.6.0-1
- First build for Fedora Extras, based on upstream spec file