wpa_supplicant-vl.spec 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432
  1. %bcond_with systemd
  2. %bcond_with gui
  3. Summary: WPA/WPA2/IEEE 802.1X Supplicant
  4. Name: wpa_supplicant
  5. Version: 2.9
  6. Release: 4%{?_dist_release}%{?with_systemd:.systemd}
  7. Group: network,system
  8. Vendor: Project Vine
  9. Distribution: Vine Linux
  10. License: BSD
  11. URL: https://w1.fi/wpa_supplicant/
  12. Source0: https://w1.fi/releases/%{name}-%{version}.tar.gz
  13. Source2: %{name}.conf
  14. Source3: %{name}.init.d
  15. Source4: %{name}.sysconfig
  16. Source6: %{name}.logrotate
  17. Source100: %{name}.service
  18. Source101: %{name}.sysconfig.systemd
  19. # distro specific customization and not suitable for upstream,
  20. # Fedora-specific updates to defconfig
  21. Patch0: wpa_supplicant-config.patch
  22. # works around busted drivers
  23. Patch1: wpa_supplicant-assoc-timeout.patch
  24. # ensures that debug output gets flushed immediately to help diagnose driver
  25. # bugs, not suitable for upstream
  26. Patch2: wpa_supplicant-flush-debug-output.patch
  27. # quiet an annoying and frequent syslog message
  28. Patch3: wpa_supplicant-quiet-scan-results-message.patch
  29. # distro specific customization for Qt4 build tools, not suitable for upstream
  30. Patch4: wpa_supplicant-gui-qt4.patch
  31. # fix AP mode PMF disconnection protection bypass
  32. Patch5: 0001-AP-Silently-ignore-management-frame-from-unexpected-.patch
  33. # fix some issues with P2P operation
  34. Patch6: 0001-P2P-Always-use-global-p2p_long_listen.patch
  35. Patch7: 0001-D-Bus-Fix-P2P-NULL-dereference-after-interface-remov.patch
  36. Patch8: 0001-p2p-Limit-P2P_DEVICE-name-to-appropriate-ifname-size.patch
  37. #fix for bz1915236
  38. Patch9: 0001-D-Bus-Allow-changing-an-interface-bridge-via-D-Bus.patch
  39. #expose OWE capability in D-Bus
  40. Patch10: 0001-dbus-Export-OWE-capability-and-OWE-BSS-key_mgmt.patch
  41. # CVE-2021-0326
  42. Patch11: 0001-P2P-Fix-copying-of-secondary-device-types-for-P2P-gr.patch
  43. # CVE-2021-27803
  44. Patch12: 0001-P2P-Fix-a-corner-case-in-peer-addition-based-on-PD-R.patch
  45. # CVE-2021-30004
  46. Patch13: 0001-ASN-1-Validate-DigestAlgorithmIdentifier-parameters.patch
  47. ## Vine patches
  48. BuildRoot: %{_tmppath}/%{name}-%{version}-root
  49. %if %{with gui}
  50. BuildRequires: qt4-devel
  51. %endif
  52. BuildRequires: openssl-devel
  53. BuildRequires: readline-devel
  54. BuildRequires: dbus-devel
  55. BuildRequires: libnl3-devel
  56. BuildRequires: docbook-utils
  57. %if %{with systemd}
  58. %{?systemd_requires}
  59. %else
  60. Requires(post): /sbin/chkconfig
  61. Requires(preun): /sbin/chkconfig /sbin/service
  62. Requires(postun): /sbin/service
  63. %endif
  64. %description
  65. wpa_supplicant is a WPA Supplicant for Linux, BSD and Windows with support
  66. for WPA and WPA2 (IEEE 802.11i / RSN). Supplicant is the IEEE 802.1X/WPA
  67. component that is used in the client stations. It implements key negotiation
  68. with a WPA Authenticator and it controls the roaming and IEEE 802.11
  69. authentication/association of the wlan driver.
  70. %if %{with gui}
  71. %package gui
  72. Summary: Graphical User Interface for %{name}
  73. Summary(ja): %{name} のグラフィカルユーザインタフェース
  74. Group: admin-tools
  75. %description gui
  76. Graphical User Interface for wpa_supplicant written using QT4
  77. %description -l ja gui
  78. QT4 を用いた wpa_supplicant のグラフィカルユーザインタフェース
  79. %endif
  80. %debug_package
  81. %prep
  82. %setup -q
  83. %autopatch -p1
  84. %build
  85. pushd wpa_supplicant
  86. cp defconfig .config
  87. export CFLAGS="${CFLAGS:-%optflags} -fPIE -DPIE"
  88. export CXXFLAGS="${CXXFLAGS:-%optflags} -fPIE -DPIE"
  89. export LDFLAGS="${LDFLAGS:-%optflags} -pie -Wl,-z,now"
  90. # yes, BINDIR=_sbindir
  91. export BINDIR="%{_sbindir}"
  92. export LIBDIR="%{_libdir}"
  93. make %{_smp_mflags} V=1
  94. %if %{with gui}
  95. make wpa_gui-qt4 %{_smp_mflags} V=1 QTDIR=%{_libdir}/qt4
  96. %endif
  97. make eapol_test
  98. popd
  99. %install
  100. rm -rf %{buildroot}
  101. %if %{with systemd}
  102. # systemd unit
  103. install -D -m 0644 %{SOURCE100} %{buildroot}%{_unitdir}/%{name}.service
  104. install -D -m 0644 %{SOURCE101} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
  105. %else
  106. # init scripts
  107. install -D -m 0755 %{SOURCE3} %{buildroot}%{_sysconfdir}/rc.d/init.d/%{name}
  108. install -D -m 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
  109. %endif
  110. # logrotate
  111. install -D -m 0644 %{SOURCE6} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
  112. # config
  113. install -D -m 0600 %{SOURCE2} %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
  114. # binary
  115. install -d %{buildroot}/%{_sbindir}
  116. install -m 0755 %{name}/wpa_passphrase %{buildroot}/%{_sbindir}
  117. install -m 0755 %{name}/wpa_cli %{buildroot}/%{_sbindir}
  118. install -m 0755 %{name}/wpa_supplicant %{buildroot}/%{_sbindir}
  119. install -m 0755 wpa_supplicant/eapol_test %{buildroot}/%{_sbindir}
  120. install -D -m 0644 %{name}/dbus/dbus-wpa_supplicant.conf \
  121. %{buildroot}/%{_sysconfdir}/dbus-1/system.d/wpa_supplicant.conf
  122. install -D -m 0644 %{name}/dbus/fi.w1.wpa_supplicant1.service \
  123. %{buildroot}/%{_datadir}/dbus-1/system-services/fi.w1.wpa_supplicant1.service
  124. %if %{with gui}
  125. # gui
  126. install -d %{buildroot}/%{_bindir}
  127. install -m 0755 %{name}/wpa_gui-qt4/wpa_gui %{buildroot}/%{_bindir}
  128. %endif
  129. # running
  130. mkdir -p %{buildroot}/%{_localstatedir}/run/%{name}
  131. # man pages
  132. install -d %{buildroot}%{_mandir}/man{5,8}
  133. install -m 0644 %{name}/doc/docbook/*.8 %{buildroot}%{_mandir}/man8
  134. install -m 0644 %{name}/doc/docbook/*.5 %{buildroot}%{_mandir}/man5
  135. # some cleanup in docs
  136. rm -f %{name}/doc/.cvsignore
  137. rm -rf %{name}/doc/docbook
  138. chmod -R 0644 %{name}/examples/*.py
  139. %clean
  140. rm -rf %{buildroot}
  141. %post
  142. %if %{with systemd}
  143. %systemd_post wpa_supplicant.service
  144. %else
  145. if [ $1 = 1 ]; then
  146. /sbin/chkconfig --add %{name}
  147. fi
  148. %endif
  149. %preun
  150. %if %{with systemd}
  151. %systemd_preun wpa_supplicant.service
  152. %else
  153. if [ $1 = 0 -o -x /bin/systemctl ]; then
  154. /sbin/service %{name} stop > /dev/null 2>&1 ||:
  155. killall -TERM wpa_supplicant >/dev/null 2>&1 || :
  156. /sbin/chkconfig --del %{name}
  157. fi
  158. %endif
  159. %postun
  160. %if %{with systemd}
  161. %systemd_postun_with_restart wpa_supplicant.service
  162. %else
  163. if [ $1 -ge 1 ]; then
  164. /sbin/service %{name} condrestart > /dev/null 2>&1 ||:
  165. fi
  166. %endif
  167. %files
  168. %defattr(-, root, root)
  169. %license COPYING
  170. %doc %{name}/ChangeLog README %{name}/eap_testing.txt %{name}/todo.txt %{name}/wpa_supplicant.conf %{name}/examples
  171. %config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
  172. %config(noreplace) %{_sysconfdir}/sysconfig/%{name}
  173. %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
  174. %if %{with systemd}
  175. %{_unitdir}/%{name}.service
  176. %else
  177. %{_sysconfdir}/rc.d/init.d/%{name}
  178. %endif
  179. %{_sysconfdir}/dbus-1/system.d/%{name}.conf
  180. %{_datadir}/dbus-1/system-services/fi.w1.wpa_supplicant1.service
  181. %{_sbindir}/wpa_passphrase
  182. %{_sbindir}/wpa_supplicant
  183. %{_sbindir}/wpa_cli
  184. %{_sbindir}/eapol_test
  185. %dir %{_localstatedir}/run/%{name}
  186. %dir %{_sysconfdir}/%{name}
  187. %{_mandir}/man8/*
  188. %{_mandir}/man5/*
  189. %if %{with gui}
  190. %files gui
  191. %defattr(-, root, root)
  192. %{_bindir}/wpa_gui
  193. %endif
  194. %changelog
  195. * Sat Apr 10 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.9-4
  196. - imported Patch13 from upstream to fox CVE-2021-30004.
  197. * Sat Mar 06 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.9-3
  198. - imported Patch11 from upstream to fix CVE-2021-0326.
  199. - imported Patch12 from upstream to fix CVE-2021-27803.
  200. * Mon Mar 01 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.9-2
  201. - diasabled gui as default.
  202. - added systemd support (disabled as default).
  203. - replaced all patches to rawhide's.
  204. * Tue Mar 24 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.9-1
  205. - new upstream release.
  206. - replaced all patches to rawhide's.
  207. * Tue Nov 27 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.6-2
  208. - rebuilt with openssl-1.1.1.
  209. - imported Patch62-64 from rawhide.
  210. * Sat Mar 03 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.6-1
  211. - updated to 2.6.
  212. - imported Patch9-60 from rawhide.
  213. * Thu Jun 30 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.5-3
  214. - rebuilt with new toolchain.
  215. * Tue Mar 29 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> - 2.5-2
  216. - rebuild with openssl-1.0.2g
  217. * Thu Oct 08 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> - 2.5-1
  218. - update to 2.5
  219. - update SOURCE1
  220. - remove Patch7 (libnl3-includes.patch)
  221. - add Patch 9,10,11 from Fedora
  222. - remove Patch 6, 700
  223. * Thu Feb 5 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> - 2.3-1
  224. - updated to 2.3
  225. - built with libnl3 instead of libnl
  226. - added Patch 6, 7 and 8 from Fedora
  227. - added Patch700
  228. * Mon Aug 22 2011 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 0.7.3-3
  229. - import Patch8 from Fedora 1:0.7.3-9 to fix some crashes
  230. - Wed Jul 27 2011 Dan Williams <dcbw@redhat.com> - 1:0.7.3-9
  231. - Fix various crashes with D-Bus interface (rh #678625) (rh #725517)
  232. * Mon Jan 10 2011 Yoji TOYODA <bsyamato@sea.plala.or.jp> 0.7.3-2
  233. - rebuild with openssl-1.0.0c
  234. - add BuildRequires: qt4-designer, libnl-devel
  235. * Thu Jan 06 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 0.7.3-1
  236. - new upstream release
  237. - update patches
  238. - change License to BSD due to linkage against OpsnSSL since there is no
  239. OpenSSL exception in upstream GPLv2 license text.
  240. - build with qt4
  241. - update build config
  242. * Wed Jan 28 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 0.6.4-1
  243. - new upstream release
  244. - remove hostap/madwifi/prism54 drivers, use 'wext' instead.
  245. - drop upstream patches
  246. - import some fedora patches
  247. - Handle encryption keys correctly when switching 802.11 modes (rh #459399)
  248. - Better scanning behavior on resume from suspend/hibernate
  249. - Better interaction with newer kernels and drivers
  250. * Sun Aug 03 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 0.6.3-2
  251. - start wpa_supplicant by default.
  252. * Sun Aug 03 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 0.6.3-1
  253. - new upstream release
  254. - import some fedora patches
  255. * Thu May 17 2007 Daisuke SUZUKI <daisuke@linux.or.jp> 0.5.7-0vl2
  256. - rebuild with new openssl
  257. * Mon May 14 2007 Daisuke SUZUKI <daisuke@linux.or.jp> 0.5.7-0vl1
  258. - new upstream release
  259. * Wed Jun 21 2006 Daisuke SUZUKI <daisuke@linux.or.jp> 0.4.8-0vl1
  260. - initial build for Vine Linux based on FC package.
  261. * Thu Apr 27 2006 Dan Williams <dcbw@redhat.com> - 0.4.8-10
  262. - Add fix for madwifi and WEP (wpa_supplicant/hostap bud #140) (#rh190075#)
  263. - Fix up madwifi-ng private ioctl()s for r1331 and later
  264. - Update madwifi headers to r1475
  265. * Tue Apr 25 2006 Dan Williams <dcbw@redhat.com> - 0.4.8-9
  266. - Enable Wired driver, PKCS12, and Smartcard options (#rh189805#)
  267. * Tue Apr 11 2006 Dan Williams <dcbw@redhat.com> - 0.4.8-8
  268. - Fix control interface key obfuscation a bit
  269. * Sun Apr 2 2006 Dan Williams <dcbw@redhat.com> - 0.4.8-7
  270. - Work around older & incorrect drivers that return null-terminated SSIDs
  271. * Mon Mar 27 2006 Dan Williams <dcbw@redhat.com> - 0.4.8-6
  272. - Add patch to make orinoco happy with WEP keys
  273. - Enable Prism54-specific driver
  274. - Disable ipw-specific driver; ipw2x00 should be using WEXT instead
  275. * Fri Mar 3 2006 Dan Williams <dcbw@redhat.com> - 0.4.8-5
  276. - Increase association timeout, mainly for drivers that don't
  277. fully support WPA ioctls yet
  278. * Fri Mar 3 2006 Dan Williams <dcbw@redhat.com> - 0.4.8-4
  279. - Add additional BuildRequires #rh181914#
  280. - Add prereq on chkconfig #rh182905# #rh182906#
  281. - Own /var/run/wpa_supplicant and /etc/wpa_supplicant #rh183696#
  282. * Wed Mar 1 2006 Dan Williams <dcbw@redhat.com> - 0.4.8-3
  283. - Install wpa_passphrase too #rh183480#
  284. * Mon Feb 27 2006 Dan Williams <dcbw@redhat.com> - 0.4.8-2
  285. - Don't expose private data on the control interface unless requested
  286. * Fri Feb 24 2006 Dan Williams <dcbw@redhat.com> - 0.4.8-1
  287. - Downgrade to 0.4.8 stable release rather than a dev release
  288. * Sun Feb 12 2006 Dan Williams <dcbw@redhat.com> - 0.5.1-3
  289. - Documentation cleanup (Terje Rosten <terje.rosten@ntnu.no>)
  290. * Sun Feb 12 2006 Dan Williams <dcbw@redhat.com> - 0.5.1-2
  291. - Move initscript to /etc/rc.d/init.d
  292. * Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 0.5.1-1.2
  293. - bump again for double-long bug on ppc(64)
  294. * Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 0.5.1-1.1
  295. - rebuilt for new gcc4.1 snapshot and glibc changes
  296. * Sun Feb 5 2006 Dan Williams <dcbw@redhat.com> 0.5.1-1
  297. - Update to 0.5.1
  298. - Add WE auth fallback to actually work with older drivers
  299. * Thu Jan 26 2006 Dan Williams <dcbw@redhat.com> 0.4.7-2
  300. - Bring package into Fedora Core
  301. - Add ap_scan control interface patch
  302. - Enable madwifi-ng driver
  303. * Sun Jan 15 2006 Douglas E. Warner <silfreed@silfreed.net> 0.4.7-1
  304. - upgrade to 0.4.7
  305. - added package w/ wpa_gui in it
  306. * Mon Nov 14 2005 Douglas E. Warner <silfreed@silfreed.net> 0.4.6-1
  307. - upgrade to 0.4.6
  308. - adding ctrl interface changes recommended
  309. by Hugo Paredes <hugo.paredes@e-know.org>
  310. * Sun Oct 9 2005 Douglas E. Warner <silfreed@silfreed.net> 0.4.5-1
  311. - upgrade to 0.4.5
  312. - updated config file wpa_supplicant is built with
  313. especially, the ipw2100 driver changed to just ipw
  314. and enabled a bunch more EAP
  315. - disabled dist tag
  316. * Thu Jun 30 2005 Douglas E. Warner <silfreed@silfreed.net> 0.4.2-3
  317. - fix typo in init script
  318. * Thu Jun 30 2005 Douglas E. Warner <silfreed@silfreed.net> 0.4.2-2
  319. - fixing init script using fedora-extras' template
  320. - removing chkconfig default startup
  321. * Tue Jun 21 2005 Douglas E. Warner <silfreed@silfreed.net> 0.4.2-1
  322. - upgrade to 0.4.2
  323. - new sample conf file that will use any unrestricted AP
  324. - make sysconfig config entry
  325. - new BuildRoot for Fedora Extras
  326. - adding dist tag to Release
  327. * Fri May 06 2005 Douglas E. Warner <silfreed@silfreed.net> 0.3.8-1
  328. - upgrade to 0.3.8
  329. * Thu Feb 10 2005 Douglas E. Warner <silfreed@silfreed.net> 0.3.6-2
  330. - compile ipw driver in
  331. * Wed Feb 09 2005 Douglas E. Warner <silfreed@silfreed.net> 0.3.6-1
  332. - upgrade to 0.3.6
  333. * Thu Dec 23 2004 Douglas E. Warner <silfreed@silfreed.net> 0.2.5-4
  334. - fixing init script
  335. * Mon Dec 20 2004 Douglas E. Warner <silfreed@silfreed.net> 0.2.5-3
  336. - fixing init script
  337. - adding post/preun items to add/remove via chkconfig
  338. * Mon Dec 20 2004 Douglas E. Warner <silfreed@silfreed.net> 0.2.5-2
  339. - adding sysV scripts
  340. * Mon Dec 20 2004 Douglas E. Warner <silfreed@silfreed.net> 0.2.5-1
  341. - Initial RPM release.