3 %bcond_without pkcs11 # PKCS#11 support
6 Summary(pl.UTF-8): Serwer VPN
11 Group: Networking/Daemons
12 Source0: http://swupdate.openvpn.net/community/releases/%{name}-%{version}.tar.gz
13 # Source0-md5: 8cab67fd3d9cdee9d35ecd7997d04989
15 Source2: %{name}.sysconfig
16 Source7: %{name}-update-resolv-conf
17 Patch0: %{name}-pam.patch
18 URL: http://www.openvpn.net/
19 BuildRequires: autoconf >= 2.59
20 BuildRequires: automake >= 1:1.9
21 BuildRequires: libselinux-devel
22 BuildRequires: libtool
23 BuildRequires: lz4-devel >= 1:1.7
24 BuildRequires: lzo-devel
25 BuildRequires: mbedtls-devel
26 BuildRequires: openssl-devel >= 0.9.8
27 %{?with_pkcs11:BuildRequires: p11-kit-devel}
28 BuildRequires: pam-devel
29 %{?with_pkcs11:BuildRequires: pkcs11-helper-devel >= 1.11}
30 BuildRequires: pkgconfig
31 BuildRequires: rpmbuild(macros) >= 1.671
32 BuildRequires: tar >= 1:1.22
34 Requires(post,preun): /sbin/chkconfig
36 Requires: openssl >= 0.9.8
37 %{?with_pkcs11:Requires: pkcs11-helper >= 1.11}
38 Requires: rc-scripts >= 0.4.3.0
39 Requires: uname(release) >= 2.4
40 Suggests: %{name}-plugin-auth-pam
41 Suggests: %{name}-plugin-down-root
42 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44 %define _localstatedir /var
47 OpenVPN is a robust and highly configurable VPN (Virtual Private
48 Network) daemon which can be used to securely link two or more private
49 networks using an encrypted tunnel over the internet.
51 %description -l pl.UTF-8
52 OpenVPN jest mocnym i silnie konfigurowalnym serwerem VPN (Wirtualne
53 Sieci Prywatne), który może być użyty do bezpiecznego łączenia dwóch
54 lub więcej prywatnych sieci używając zaszyfrowanego tunelu poprzez
57 %package plugin-auth-pam
58 Summary: Plugin for username/password authentication via PAM
59 Summary(pl.UTF-8): Wtyczka do uwierzytelniania nazwą użytkownika i hasłem poprzez PAM
61 Requires: %{name} = %{version}-%{release}
63 %description plugin-auth-pam
64 The openvpn-auth-pam module implements username/password
65 authentication via PAM, and essentially allows any authentication
66 method supported by PAM (such as LDAP, RADIUS, or Linux Shadow
67 passwords) to be used with OpenVPN. While PAM supports
68 username/password authentication, this can be combined with X509
69 certificates to provide two indepedent levels of authentication.
71 This module uses a split privilege execution model which will function
72 even if you drop openvpn daemon privileges using the user, group, or
75 %description plugin-auth-pam -l pl.UTF-8
76 Moduł openvpn-auth-pam implementuje uwierzytelnianie nazwą użytkownika
77 i hasłem poprzez PAM, zasadniczo pozwalając na korzystanie z dowolnej
78 metody uwierzytelniania obsługiwanej przez PAM (np. LDAP, RADIUS,
79 hasła shadow) z OpenVPN. Jako że PAM obsługuje uwierzytelnianie nazwą
80 użytkownika i hasłem, to można je łączyć z certyfikatami X509 w celu
81 zapewniania dwóch różnych poziomów uwierzytelnienia.
83 Ten moduł wykorzystuje model wykonywania z podziałem uprawnień, co
84 działa nawet przy odrzuceniu uprawnień demona openvpn przy użyciu
85 dyrektyw user, group lub chroot.
87 %package plugin-down-root
88 Summary: Plugin to allow root after privilege drop
89 Summary(pl.UTF-8): Wtyczka pozwalająca na wykorzystanie uprawnień roota po odrzuceniu uprawnień
91 Requires: %{name} = %{version}-%{release}
93 %description plugin-down-root
94 The down-root module allows an OpenVPN configuration to call a down
95 script with root privileges, even when privileges have been dropped
96 using --user/--group/--chroot.
98 This module uses a split privilege execution model which will fork()
99 before OpenVPN drops root privileges, at the point where the --up
100 script is usually called. The module will then remain in a wait state
101 until it receives a message from OpenVPN via pipe to execute the down
102 script. Thus, the down script will be run in the same execution
103 environment as the up script.
105 %description plugin-down-root -l pl.UTF-8
106 Moduł down-root pozwala na wywołanie skryptu down z uprawnieniami
107 roota z poziomu konfiguracji OpenVPN-a nawet w przypadku odrzucenia
108 uprawnień przy użyciu opcji --user/--group/--chroot.
110 Ten moduł wykorzystuje model wykonywania z podziałem uprawnień, który
111 wykonuje fork() przed odrzuceniem uprawnień roota, w miejscu, gdzie
112 zwykle jest wywoływany skrypt --up. Moduł pozostaje w stanie
113 oczekiwania do odebrania przez potok od OpenVPN-a komunikatu, aby
114 wykonać skrypt down. Dzięki temu skrypt down zostanie uruchomiony w
115 tym samym środowisku, co skrypt up.
118 Summary: Header files for OpenVPN plugins development
119 Summary(pl.UTF-8): Pliki nagłówkowe do tworzenia wtyczek OpenVPN
120 Group: Development/Libraries
123 This is the package containing the header files for OpenVPN plugins
126 %description devel -l pl.UTF-8
127 Ten pakiet zawiera pliki nagłówkowe do tworzenia wtyczek OpenVPN.
133 sed -e 's,/''usr/lib/openvpn,%{_libdir}/%{name},' %{SOURCE7} > contrib/update-resolv-conf
141 CPPFLAGS="%{rpmcppflags} $(pkg-config --cflags liblz4)"
143 IFCONFIG=/sbin/ifconfig \
145 NETSTAT=/bin/netstat \
147 ac_cv_nsl_inet_ntoa=no \
148 ac_cv_socket_socket=no \
149 ac_cv_resolv_gethostbyname=no \
151 --enable-password-save \
152 %{?with_pkcs11:--enable-pkcs11} \
159 rm -rf $RPM_BUILD_ROOT
160 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/openvpn,%{_sbindir},%{_mandir}/man8} \
161 $RPM_BUILD_ROOT{/etc/{rc.d/init.d,sysconfig},/var/run/openvpn,%{_includedir}} \
162 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
165 DESTDIR=$RPM_BUILD_ROOT
167 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
168 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
170 # we use "cp", not "install", not to pull /bin/bash dependency
171 cp -p contrib/pull-resolv-conf/client.down $RPM_BUILD_ROOT%{_libdir}/%{name}
172 cp -p contrib/pull-resolv-conf/client.up $RPM_BUILD_ROOT%{_libdir}/%{name}
173 cp -p contrib/update-resolv-conf $RPM_BUILD_ROOT%{_libdir}/%{name}
175 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/*.la
176 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
179 rm -rf $RPM_BUILD_ROOT
182 /sbin/chkconfig --add openvpn
183 %service openvpn restart "OpenVPN"
186 if [ "$1" = "0" ]; then
187 %service openvpn stop
188 /sbin/chkconfig --del openvpn
192 %defattr(644,root,root,755)
193 %doc AUTHORS README* ChangeLog sample/sample-{config-files,keys,scripts} doc/management-notes.txt
194 %dir %{_sysconfdir}/openvpn
195 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
196 %attr(755,root,root) %{_sbindir}/openvpn
197 %attr(754,root,root) /etc/rc.d/init.d/%{name}
198 %dir %{_libdir}/%{name}
199 %attr(755,root,root) %{_libdir}/%{name}/client.down
200 %attr(755,root,root) %{_libdir}/%{name}/client.up
201 %attr(755,root,root) %{_libdir}/%{name}/update-resolv-conf
202 %dir %{_libdir}/%{name}/plugins
203 %{_mandir}/man8/openvpn.8*
204 %dir /var/run/openvpn
206 %files plugin-auth-pam
207 %defattr(644,root,root,755)
208 %doc src/plugins/auth-pam/README.auth-pam
209 %attr(755,root,root) %{_libdir}/%{name}/plugins/openvpn-plugin-auth-pam.so
211 %files plugin-down-root
212 %defattr(644,root,root,755)
213 %doc src/plugins/down-root/README.down-root
214 %attr(755,root,root) %{_libdir}/%{name}/plugins/openvpn-plugin-down-root.so
217 %defattr(644,root,root,755)
218 %doc doc/README.plugins sample/sample-plugins
219 %{_includedir}/openvpn-msg.h
220 %{_includedir}/openvpn-plugin.h