Merge pull request #15934 from lnslbrty/package/httptunnel
[feed/packages.git] / net / strongswan / Makefile
1 #
2 # Copyright (C) 2012-2018 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=strongswan
11 PKG_VERSION:=5.9.2
12 PKG_RELEASE:=12
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
15 PKG_SOURCE_URL:=https://download.strongswan.org/ https://download2.strongswan.org/
16 PKG_HASH:=61c72f741edb2c1295a7b7ccce0317a104b3f9d39efd04c52cd05b01b55ab063
17 PKG_LICENSE:=GPL-2.0-or-later
18 PKG_MAINTAINER:=Philip Prindeville <philipp@redfish-solutions.com>, Noel Kuntze <noel.kuntze@thermi.consulting>
19 PKG_CPE_ID:=cpe:/a:strongswan:strongswan
20
21 PKG_MOD_AVAILABLE:= \
22 addrblock \
23 aes \
24 af-alg \
25 agent \
26 attr \
27 attr-sql \
28 bliss \
29 blowfish \
30 ccm \
31 chapoly \
32 cmac \
33 constraints \
34 connmark \
35 coupling \
36 ctr \
37 curl \
38 curve25519 \
39 des \
40 dhcp \
41 dnskey \
42 duplicheck \
43 eap-identity \
44 eap-md5 \
45 eap-mschapv2 \
46 eap-radius \
47 eap-tls \
48 farp \
49 fips-prf \
50 forecast \
51 gcm \
52 gcrypt \
53 gmp \
54 gmpdh \
55 ha \
56 hmac \
57 kernel-libipsec \
58 kernel-netlink \
59 ldap \
60 led \
61 load-tester \
62 nonce \
63 md4 \
64 md5 \
65 mgf1 \
66 mysql \
67 newhope \
68 ntru \
69 openssl \
70 pem \
71 pgp \
72 pkcs1 \
73 pkcs7 \
74 pkcs8 \
75 pkcs11 \
76 pkcs12 \
77 pubkey \
78 random \
79 rc2 \
80 resolve \
81 revocation \
82 sha1 \
83 sha2 \
84 sha3 \
85 smp \
86 socket-default \
87 socket-dynamic \
88 sql \
89 sqlite \
90 sshkey \
91 stroke \
92 test-vectors \
93 unity \
94 uci \
95 updown \
96 vici \
97 whitelist \
98 x509 \
99 xauth-eap \
100 xauth-generic \
101 xcbc
102
103 PKG_CONFIG_DEPENDS:= \
104 CONFIG_STRONGSWAN_ROUTING_TABLE \
105 CONFIG_STRONGSWAN_ROUTING_TABLE_PRIO \
106 $(patsubst %,CONFIG_PACKAGE_strongswan-mod-%,$(PKG_MOD_AVAILABLE)) \
107
108 PKG_FIXUP:=autoreconf
109 PKG_INSTALL:=1
110 PKG_BUILD_PARALLEL:=1
111
112 include $(INCLUDE_DIR)/package.mk
113 # strongswan-mod-mysql needs iconv
114 include $(INCLUDE_DIR)/nls.mk
115
116 define Package/strongswan/Default
117 SUBMENU:=VPN
118 SECTION:=net
119 CATEGORY:=Network
120 TITLE:=StrongSwan
121 URL:=http://www.strongswan.org/
122 endef
123
124 define Package/strongswan/description/Default
125 StrongSwan is an OpenSource IPsec implementation for the Linux operating system.
126 endef
127
128 define Package/strongswan
129 $(call Package/strongswan/Default)
130 MENU:=1
131 DEPENDS:= +libpthread +ip \
132 +kmod-crypto-authenc \
133 +kmod-ipsec +kmod-ipsec4 +IPV6:kmod-ipsec6 \
134 +kmod-ipt-ipsec +iptables-mod-ipsec
135 endef
136
137 define Package/strongswan/config
138 source "$(SOURCE)/Config.in"
139 endef
140
141 define Package/strongswan/description
142 $(call Package/strongswan/description/Default)
143 This package contains shared libraries and scripts.
144 endef
145
146 define Package/strongswan-full
147 $(call Package/strongswan/Default)
148 TITLE+= (full)
149 DEPENDS:= strongswan \
150 +strongswan-charon \
151 +strongswan-charon-cmd \
152 +strongswan-ipsec \
153 +strongswan-libnttfft \
154 +strongswan-mod-addrblock \
155 +strongswan-mod-aes \
156 +strongswan-mod-af-alg \
157 +strongswan-mod-agent \
158 +strongswan-mod-attr \
159 +strongswan-mod-attr-sql \
160 +strongswan-mod-bliss \
161 +strongswan-mod-blowfish \
162 +strongswan-mod-ccm \
163 +strongswan-mod-chapoly \
164 +strongswan-mod-cmac \
165 +strongswan-mod-constraints \
166 +strongswan-mod-connmark \
167 +strongswan-mod-coupling \
168 +strongswan-mod-ctr \
169 +strongswan-mod-curl \
170 +strongswan-mod-curve25519 \
171 +strongswan-mod-des \
172 +strongswan-mod-dhcp \
173 +strongswan-mod-dnskey \
174 +strongswan-mod-duplicheck \
175 +strongswan-mod-eap-identity \
176 +strongswan-mod-eap-md5 \
177 +strongswan-mod-eap-mschapv2 \
178 +strongswan-mod-eap-radius \
179 +strongswan-mod-eap-tls \
180 +strongswan-mod-farp \
181 +strongswan-mod-fips-prf \
182 +strongswan-mod-forecast \
183 +strongswan-mod-gcm \
184 +strongswan-mod-gcrypt \
185 +strongswan-mod-gmp \
186 +strongswan-mod-ha \
187 +strongswan-mod-hmac \
188 +strongswan-mod-kernel-netlink \
189 +strongswan-mod-ldap \
190 +strongswan-mod-led \
191 +strongswan-mod-load-tester \
192 +strongswan-mod-nonce \
193 +strongswan-mod-md4 \
194 +strongswan-mod-md5 \
195 +strongswan-mod-mgf1 \
196 +strongswan-mod-mysql \
197 +strongswan-mod-newhope \
198 +strongswan-mod-ntru \
199 +strongswan-mod-openssl \
200 +strongswan-mod-pem \
201 +strongswan-mod-pgp \
202 +strongswan-mod-pkcs1 \
203 +strongswan-mod-pkcs7 \
204 +strongswan-mod-pkcs8 \
205 +strongswan-mod-pkcs11 \
206 +strongswan-mod-pkcs12 \
207 +strongswan-mod-pubkey \
208 +strongswan-mod-random \
209 +strongswan-mod-rc2 \
210 +strongswan-mod-resolve \
211 +strongswan-mod-revocation \
212 +strongswan-mod-sha1 \
213 +strongswan-mod-sha2 \
214 +strongswan-mod-sha3 \
215 +strongswan-mod-smp \
216 +strongswan-mod-socket-default \
217 +strongswan-mod-sql \
218 +strongswan-mod-sqlite \
219 +strongswan-mod-sshkey \
220 +strongswan-mod-stroke \
221 +strongswan-mod-test-vectors \
222 +strongswan-mod-uci \
223 +strongswan-mod-unity \
224 +strongswan-mod-updown \
225 +strongswan-mod-vici \
226 +strongswan-mod-whitelist \
227 +strongswan-mod-x509 \
228 +strongswan-mod-xauth-eap \
229 +strongswan-mod-xauth-generic \
230 +strongswan-mod-xcbc \
231 +strongswan-pki \
232 +strongswan-scepclient \
233 +strongswan-swanctl \
234 @DEVEL
235 endef
236
237 define Package/strongswan-full/description
238 $(call Package/strongswan/description/Default)
239 This meta-package contains dependencies for all of the strongswan plugins
240 except kernel-libipsec,
241 socket-dynamic and which are omitted in favor of the kernel-netlink and
242 socket-default plugins.
243 endef
244
245
246 define Package/strongswan-default
247 $(call Package/strongswan/Default)
248 TITLE+= (default)
249 DEPENDS:= strongswan \
250 +strongswan-charon \
251 +strongswan-mod-aes \
252 +strongswan-mod-attr \
253 +strongswan-mod-connmark \
254 +strongswan-mod-constraints \
255 +strongswan-mod-des \
256 +strongswan-mod-dnskey \
257 +strongswan-mod-fips-prf \
258 +strongswan-mod-gmp \
259 +strongswan-mod-hmac \
260 +strongswan-mod-kernel-netlink \
261 +strongswan-mod-md5 \
262 +strongswan-mod-nonce \
263 +strongswan-mod-pem \
264 +strongswan-mod-pgp \
265 +strongswan-mod-pkcs1 \
266 +strongswan-mod-pubkey \
267 +strongswan-mod-random \
268 +strongswan-mod-rc2 \
269 +strongswan-mod-resolve \
270 +strongswan-mod-revocation \
271 +strongswan-mod-sha1 \
272 +strongswan-mod-sha2 \
273 +strongswan-mod-socket-default \
274 +strongswan-mod-sshkey \
275 +strongswan-mod-updown \
276 +strongswan-mod-x509 \
277 +strongswan-mod-xauth-generic \
278 +strongswan-mod-xcbc \
279 +strongswan-swanctl
280 endef
281
282 define Package/strongswan-default/description
283 $(call Package/strongswan/description/Default)
284 This meta-package contains only dependencies to match upstream defaults.
285 endef
286
287
288 define Package/strongswan-isakmp
289 $(call Package/strongswan/Default)
290 TITLE+= (isakmp)
291 DEPENDS:= strongswan \
292 +strongswan-charon \
293 +strongswan-ipsec \
294 +strongswan-mod-aes \
295 +strongswan-mod-des \
296 +strongswan-mod-gmpdh \
297 +strongswan-mod-hmac \
298 +strongswan-mod-kernel-netlink \
299 +strongswan-mod-md5 \
300 +strongswan-mod-nonce \
301 +strongswan-mod-pubkey \
302 +strongswan-mod-random \
303 +strongswan-mod-sha1 \
304 +strongswan-mod-socket-default \
305 +strongswan-mod-stroke \
306 +strongswan-mod-uci \
307 +strongswan-mod-updown
308 endef
309
310 define Package/strongswan-isakmp/description
311 $(call Package/strongswan/description/Default)
312 This meta-package contains only dependencies to establish ISAKMP /
313 IKE PSK connections, dropping other capabilities in favor of small size
314 Can fit most routers even with 4Mb flash (after removing IPv6 support).
315 endef
316
317
318 define Package/strongswan-minimal
319 $(call Package/strongswan/Default)
320 TITLE+= (minimal)
321 DEPENDS:= strongswan \
322 +strongswan-charon \
323 +strongswan-mod-aes \
324 +strongswan-mod-gmp \
325 +strongswan-mod-hmac \
326 +strongswan-mod-kernel-netlink \
327 +strongswan-mod-nonce \
328 +strongswan-mod-pubkey \
329 +strongswan-mod-random \
330 +strongswan-mod-sha1 \
331 +strongswan-mod-socket-default \
332 +strongswan-mod-stroke \
333 +strongswan-mod-updown \
334 +strongswan-mod-x509 \
335 +strongswan-mod-xcbc
336 endef
337
338 define Package/strongswan-minimal/description
339 $(call Package/strongswan/description/Default)
340 This meta-package contains only dependencies for a minimal IKEv2 setup.
341 endef
342
343 define Package/strongswan-charon
344 $(call Package/strongswan/Default)
345 TITLE+= IKEv1/IKEv2 keying daemon
346 DEPENDS:= strongswan
347 endef
348
349 define Package/strongswan-charon/description
350 $(call Package/strongswan/description/Default)
351 This package contains charon, an IKEv2 keying daemon.
352 endef
353
354 define Package/strongswan-charon-cmd
355 $(call Package/strongswan/Default)
356 TITLE+= charon-cmd utility
357 DEPENDS:= strongswan +strongswan-charon
358 endef
359
360 define Package/strongswan-charon-cmd/description
361 $(call Package/strongswan/description/Default)
362 This package contains the charon-cmd utility.
363 endef
364
365 define Package/strongswan-ipsec
366 $(call Package/strongswan/Default)
367 TITLE+= utilities
368 DEPENDS:= strongswan
369 endef
370
371 define Package/strongswan-ipsec/description
372 $(call Package/strongswan/description/Default)
373 This package contains the ipsec utility.
374 endef
375
376 define Package/strongswan-libnttfft
377 $(call Package/strongswan/Default)
378 TITLE+= nttfft library
379 DEPENDS:= strongswan
380 endef
381
382 define Package/strongswan-libnttfft/description
383 $(call Package/strongswan/description/Default)
384 This package contains the Number Theoretic Transforms library.
385 endef
386
387 define Package/strongswan-pki
388 $(call Package/strongswan/Default)
389 TITLE+= PKI tool
390 DEPENDS:= strongswan
391 endef
392
393 define Package/strongswan-pki/description
394 $(call Package/strongswan/description/Default)
395 This package contains the pki tool.
396 endef
397
398 define Package/strongswan-scepclient
399 $(call Package/strongswan/Default)
400 TITLE+= SCEP client
401 DEPENDS:= strongswan
402 endef
403
404 define Package/strongswan-scepclient/description
405 $(call Package/strongswan/description/Default)
406 This package contains the SCEP client.
407 endef
408
409 define Package/strongswan-swanctl
410 $(call Package/strongswan/Default)
411 TITLE+= swanctl utility
412 DEPENDS:= strongswan +strongswan-mod-vici
413 endef
414
415 define Package/strongswan-swanctl/description
416 $(call Package/strongswan/description/Default)
417 This package contains the swanctl utility.
418 endef
419
420 define Package/strongswan-gencerts
421 $(call Package/strongswan/Default)
422 TITLE+= X.509 certificate generation utility
423 DEPENDS:= strongswan +strongswan-pki bash
424 endef
425
426 define Package/strongswan-gencerts/description
427 $(call Package/strongswan/description/Default)
428 This package contains the X.509 certificate generation utility.
429 endef
430
431 define Package/strongswan-libtls
432 $(call Package/strongswan/Default)
433 TITLE+= libtls
434 DEPENDS:= strongswan
435 endef
436
437 define Package/strongswan-libtls/description
438 $(call Package/strongswan/description/Default)
439 This package contains libtls for strongSwan plugins eap-tls, eap-ttls,
440 eap-peap, tnc-tnccs
441 endef
442
443 define BuildPlugin
444 define Package/strongswan-mod-$(1)
445 $$(call Package/strongswan/Default)
446 TITLE:= StrongSwan $(2) plugin
447 DEPENDS:= strongswan $(3)
448 endef
449
450 define Package/strongswan-mod-$(1)/install
451 $(INSTALL_DIR) $$(1)/etc/strongswan.d/charon
452 if [ -f $(PKG_INSTALL_DIR)/etc/strongswan.d/charon/$(1).conf ]; then \
453 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/strongswan.d/charon/$(1).conf $$(1)/etc/strongswan.d/charon/; fi
454 $(INSTALL_DIR) $$(1)/usr/lib/ipsec/plugins
455 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-$(1).so \
456 $$(1)/usr/lib/ipsec/plugins/
457 $(call Plugin/$(1)/install,$$(1))
458 endef
459
460 $$(eval $$(call BuildPackage,strongswan-mod-$(1)))
461 endef
462
463 CONFIGURE_ARGS+= \
464 --disable-scripts \
465 --disable-static \
466 --disable-fast \
467 --enable-mediation \
468 --with-systemdsystemunitdir=no \
469 $(if $(CONFIG_PACKAGE_strongswan-charon-cmd),--enable-cmd,--disable-cmd) \
470 $(if $(CONFIG_PACKAGE_strongswan-pki),--enable-pki,--disable-pki) \
471 $(if $(CONFIG_PACKAGE_strongswan-scepclient),--enable-scepclient,--disable-scepclient) \
472 --with-random-device=/dev/random \
473 --with-urandom-device=/dev/urandom \
474 --with-routing-table="$(call qstrip,$(CONFIG_STRONGSWAN_ROUTING_TABLE))" \
475 --with-routing-table-prio="$(call qstrip,$(CONFIG_STRONGSWAN_ROUTING_TABLE_PRIO))" \
476 $(foreach m,$(PKG_MOD_AVAILABLE), \
477 $(if $(CONFIG_PACKAGE_strongswan-mod-$(m)),--enable-$(m),--disable-$(m)) \
478 ) \
479 ac_cv_search___atomic_load=no
480
481 EXTRA_LDFLAGS+= -Wl,-rpath-link,$(STAGING_DIR)/usr/lib
482
483 define Package/strongswan/conffiles
484 /etc/strongswan.conf
485 /etc/strongswan.d/
486 endef
487
488 define Package/strongswan/install
489 $(INSTALL_DIR) $(1)/etc
490 $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/strongswan.conf $(1)/etc/
491 echo -e "\ninclude /var/ipsec/strongswan.conf" >> $(1)/etc/strongswan.conf
492 $(INSTALL_DIR) $(1)/usr/lib/ipsec
493 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libstrongswan.so.* $(1)/usr/lib/ipsec/
494 endef
495
496 define Package/strongswan-default/install
497 true
498 endef
499
500 define Package/strongswan-full/install
501 true
502 endef
503
504 define Package/strongswan-isakmp/install
505 true
506 endef
507
508 define Package/strongswan-minimal/install
509 true
510 endef
511
512 define Package/strongswan-charon/install
513 $(INSTALL_DIR) $(1)/etc/strongswan.d
514 $(CP) $(PKG_INSTALL_DIR)/etc/strongswan.d/charon.conf $(1)/etc/strongswan.d
515 $(CP) $(PKG_INSTALL_DIR)/etc/strongswan.d/charon-logging.conf $(1)/etc/strongswan.d
516 $(INSTALL_DIR) $(1)/usr/lib/ipsec
517 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ipsec/charon $(1)/usr/lib/ipsec/
518 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libcharon.so.* $(1)/usr/lib/ipsec/
519 endef
520
521 define Package/strongswan-charon-cmd/install
522 $(INSTALL_DIR) $(1)/usr/sbin
523 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/charon-cmd $(1)/usr/sbin/
524 endef
525
526 define Package/strongswan-ipsec/conffiles
527 /etc/ipsec.d/
528 /etc/ipsec.conf
529 /etc/ipsec.secrets
530 /etc/ipsec.user
531 endef
532
533 define Package/strongswan-ipsec/install
534 $(INSTALL_DIR) $(1)/etc/ $(1)/usr/sbin
535 $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/ipsec.conf $(1)/etc/
536 echo -e "\ninclude /var/ipsec/ipsec.conf" >> $(1)/etc/ipsec.conf
537 $(INSTALL_CONF) ./files/ipsec.secrets $(1)/etc/
538 echo -e "\ninclude /var/ipsec/ipsec.secrets" >> $(1)/etc/ipsec.secrets
539 $(INSTALL_CONF) ./files/ipsec.user $(1)/etc/
540 $(INSTALL_DIR) $(1)/etc/init.d
541 $(INSTALL_BIN) ./files/ipsec.init $(1)/etc/init.d/ipsec
542 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ipsec $(1)/usr/sbin/
543 endef
544
545 define Package/strongswan-ipsec/postinst
546 #!/bin/sh
547
548 [ -z "$${IPKG_INSTROOT}" ] || exit 0
549
550 opkg list-changed-conffiles | grep -qx /etc/ipsec.conf || {
551 rm -f /etc/ipsec.conf-opkg
552 }
553 endef
554
555 define Package/strongswan-libnttfft/install
556 $(INSTALL_DIR) $(1)/usr/lib/ipsec
557 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libnttfft.so.* $(1)/usr/lib/ipsec/
558 endef
559
560 define Package/strongswan-pki/install
561 $(INSTALL_DIR) $(1)/etc/strongswan.d
562 $(CP) $(PKG_INSTALL_DIR)/etc/strongswan.d/pki.conf $(1)/etc/strongswan.d/
563 $(INSTALL_DIR) $(1)/usr/bin
564 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pki $(1)/usr/bin/
565 endef
566
567 define Package/strongswan-scepclient/install
568 $(INSTALL_DIR) $(1)/etc/strongswan.d
569 $(CP) $(PKG_INSTALL_DIR)/etc/strongswan.d/scepclient.conf $(1)/etc/strongswan.d/
570 $(INSTALL_DIR) $(1)/usr/lib/ipsec
571 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ipsec/scepclient $(1)/usr/lib/ipsec/
572 endef
573
574 define Package/strongswan-swanctl/conffiles
575 /etc/swanctl/
576 endef
577
578 define Package/strongswan-swanctl/install
579 $(INSTALL_DIR) $(1)/etc/init.d
580 $(INSTALL_DIR) $(1)/etc/swanctl/{bliss,conf.d,ecdsa,pkcs{12,8},private,pubkey,rsa}
581 $(INSTALL_DIR) $(1)/etc/swanctl/x509{,aa,ac,ca,crl,ocsp}
582 $(CP) $(PKG_INSTALL_DIR)/etc/swanctl/swanctl.conf $(1)/etc/swanctl/
583 echo "include /var/swanctl/swanctl.conf" >> $(1)/etc/swanctl/swanctl.conf
584 $(INSTALL_DIR) $(1)/usr/sbin
585 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/swanctl $(1)/usr/sbin/
586 $(INSTALL_BIN) ./files/swanctl.init $(1)/etc/init.d/swanctl
587 endef
588
589 define Package/strongswan-gencerts/install
590 $(INSTALL_DIR) $(1)/usr/bin
591 $(INSTALL_BIN) ./files/gencerts.sh $(1)/usr/bin/gencerts
592 endef
593
594 define Package/strongswan-libtls/install
595 $(INSTALL_DIR) $(1)/usr/lib/ipsec
596 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libtls.so.* $(1)/usr/lib/ipsec/
597 endef
598
599 define Plugin/duplicheck/install
600 $(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins
601 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/duplicheck $(1)/usr/lib/ipsec/
602 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-duplicheck.so $(1)/usr/lib/ipsec/plugins/
603 endef
604
605 define Plugin/eap-radius/install
606 $(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins
607 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libradius.so.* $(1)/usr/lib/ipsec/
608 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-eap-radius.so $(1)/usr/lib/ipsec/plugins/
609 endef
610
611 define Plugin/attr-sql/install
612 $(INSTALL_DIR) $(1)/usr/lib/ipsec
613 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/pool $(1)/usr/lib/ipsec/
614 endef
615
616 define Plugin/stroke/install
617 $(INSTALL_DIR) $(1)/etc/ipsec.d/{aacerts,acerts,cacerts,certs,crls,ocspcerts,private,reqs}
618
619 $(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins
620 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ipsec/{starter,stroke} $(1)/usr/lib/ipsec/
621 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-stroke.so $(1)/usr/lib/ipsec/plugins/
622 endef
623
624 define Plugin/updown/install
625 $(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins
626 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/_updown $(1)/usr/lib/ipsec/
627 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-updown.so $(1)/usr/lib/ipsec/plugins/
628 $(INSTALL_DIR) $(1)/etc/hotplug.d/ipsec
629 $(CP) ./files/etc/hotplug.d/ipsec/01-user \
630 $(1)/etc/hotplug.d/ipsec/01-user
631 endef
632
633 define Plugin/vici/install
634 $(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins
635 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libvici.so.* $(1)/usr/lib/ipsec/
636 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-vici.so $(1)/usr/lib/ipsec/plugins/
637 endef
638
639 define Plugin/whitelist/install
640 $(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins
641 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/whitelist $(1)/usr/lib/ipsec/
642 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-whitelist.so $(1)/usr/lib/ipsec/plugins/
643 endef
644
645 define Plugin/kernel-libipsec/install
646 $(INSTALL_DIR) $(1)/usr/lib/ipsec
647 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libipsec.so.* $(1)/usr/lib/ipsec/
648 endef
649
650 $(eval $(call BuildPackage,strongswan))
651 $(eval $(call BuildPackage,strongswan-default))
652 $(eval $(call BuildPackage,strongswan-full))
653 $(eval $(call BuildPackage,strongswan-minimal))
654 $(eval $(call BuildPackage,strongswan-isakmp))
655 $(eval $(call BuildPackage,strongswan-charon))
656 $(eval $(call BuildPackage,strongswan-charon-cmd))
657 $(eval $(call BuildPackage,strongswan-ipsec))
658 $(eval $(call BuildPackage,strongswan-libnttfft))
659 $(eval $(call BuildPackage,strongswan-pki))
660 $(eval $(call BuildPackage,strongswan-scepclient))
661 $(eval $(call BuildPackage,strongswan-swanctl))
662 $(eval $(call BuildPackage,strongswan-gencerts))
663 $(eval $(call BuildPackage,strongswan-libtls))
664 $(eval $(call BuildPlugin,addrblock,RFC 3779 address block constraint support,))
665 $(eval $(call BuildPlugin,aes,AES crypto,))
666 $(eval $(call BuildPlugin,af-alg,AF_ALG crypto interface to Linux Crypto API,+kmod-crypto-user))
667 $(eval $(call BuildPlugin,agent,SSH agent signing,))
668 $(eval $(call BuildPlugin,attr,file based config,))
669 $(eval $(call BuildPlugin,attr-sql,SQL based config,+strongswan-charon))
670 $(eval $(call BuildPlugin,bliss,BLISS crypto,+strongswan-libnttfft +strongswan-mod-mgf1 +strongswan-mod-hmac))
671 $(eval $(call BuildPlugin,blowfish,Blowfish crypto,))
672 $(eval $(call BuildPlugin,ccm,CCM AEAD wrapper crypto,))
673 $(eval $(call BuildPlugin,chapoly,ChaCha20-Poly1305 AEAD crypto,))
674 $(eval $(call BuildPlugin,cmac,CMAC crypto,))
675 $(eval $(call BuildPlugin,connmark,netfilter connection marking,))
676 $(eval $(call BuildPlugin,constraints,advanced X509 constraint checking,))
677 $(eval $(call BuildPlugin,coupling,IKEv2 plugin to couple peer certificates permanently to authentication,))
678 $(eval $(call BuildPlugin,ctr,Counter Mode wrapper crypto,))
679 $(eval $(call BuildPlugin,curl,cURL fetcher plugin,+PACKAGE_strongswan-mod-curl:libcurl))
680 $(eval $(call BuildPlugin,curve25519,Curve25519 Diffie-Hellman,))
681 $(eval $(call BuildPlugin,des,DES crypto,))
682 $(eval $(call BuildPlugin,dhcp,DHCP based attribute provider,))
683 $(eval $(call BuildPlugin,dnskey,DNS RR key decoding,))
684 $(eval $(call BuildPlugin,duplicheck,advanced duplicate checking,))
685 $(eval $(call BuildPlugin,eap-identity,EAP identity helper,))
686 $(eval $(call BuildPlugin,eap-md5,EAP MD5 (CHAP) EAP auth,))
687 $(eval $(call BuildPlugin,eap-mschapv2,EAP MS-CHAPv2 EAP auth,+strongswan-mod-md4 +strongswan-mod-des))
688 $(eval $(call BuildPlugin,eap-radius,EAP RADIUS auth,))
689 $(eval $(call BuildPlugin,eap-tls,EAP TLS auth,+strongswan-libtls))
690 $(eval $(call BuildPlugin,farp,fake arp respsonses,))
691 $(eval $(call BuildPlugin,fips-prf,FIPS PRF crypto,+strongswan-mod-sha1))
692 $(eval $(call BuildPlugin,forecast,forward multi/broadcast traffic,+kmod-ipt-conntrack-extra))
693 $(eval $(call BuildPlugin,gcm,GCM AEAD wrapper crypto,))
694 $(eval $(call BuildPlugin,gcrypt,libgcrypt,+PACKAGE_strongswan-mod-gcrypt:libgcrypt))
695 $(eval $(call BuildPlugin,gmp,libgmp,+PACKAGE_strongswan-mod-gmp:libgmp))
696 $(eval $(call BuildPlugin,gmpdh,DH-Groups; no libgmp dep,))
697 $(eval $(call BuildPlugin,ha,high availability cluster,))
698 $(eval $(call BuildPlugin,hmac,HMAC crypto,))
699 $(eval $(call BuildPlugin,kernel-libipsec,libipsec kernel interface,))
700 $(eval $(call BuildPlugin,kernel-netlink,netlink kernel interface,))
701 $(eval $(call BuildPlugin,ldap,LDAP,+PACKAGE_strongswan-mod-ldap:libopenldap))
702 $(eval $(call BuildPlugin,led,LED blink on IKE activity,))
703 $(eval $(call BuildPlugin,load-tester,load testing,))
704 $(eval $(call BuildPlugin,nonce,nonce genereation,))
705 $(eval $(call BuildPlugin,md4,MD4 crypto,))
706 $(eval $(call BuildPlugin,md5,MD5 crypto,))
707 $(eval $(call BuildPlugin,mgf1,MGF1 crypto,))
708 $(eval $(call BuildPlugin,mysql,MySQL database interface,+strongswan-mod-sql +PACKAGE_strongswan-mod-mysql:libmysqlclient-r))
709 $(eval $(call BuildPlugin,newhope,New Hope crypto,+strongswan-libnttfft +strongswan-mod-chapoly +strongswan-mod-sha3))
710 $(eval $(call BuildPlugin,ntru,NTRU crypto,+strongswan-mod-mgf1))
711 $(eval $(call BuildPlugin,openssl,OpenSSL crypto,+PACKAGE_strongswan-mod-openssl:libopenssl))
712 $(eval $(call BuildPlugin,pem,PEM decoding,))
713 $(eval $(call BuildPlugin,pgp,PGP key decoding,))
714 $(eval $(call BuildPlugin,pkcs1,PKCS1 key decoding,))
715 $(eval $(call BuildPlugin,pkcs7,PKCS7 key decoding,))
716 $(eval $(call BuildPlugin,pkcs8,PKCS8 key decoding,))
717 $(eval $(call BuildPlugin,pkcs11,PKCS11 key decoding,))
718 $(eval $(call BuildPlugin,pkcs12,PKCS12 key decoding,))
719 $(eval $(call BuildPlugin,pubkey,raw public key,))
720 $(eval $(call BuildPlugin,random,RNG,))
721 $(eval $(call BuildPlugin,rc2,RC2 crypto,))
722 $(eval $(call BuildPlugin,resolve,DNS resolver,))
723 $(eval $(call BuildPlugin,revocation,X509 CRL/OCSP revocation,))
724 $(eval $(call BuildPlugin,sha1,SHA1 crypto,))
725 $(eval $(call BuildPlugin,sha2,SHA2 crypto,))
726 $(eval $(call BuildPlugin,sha3,SHA3 and SHAKE crypto,))
727 $(eval $(call BuildPlugin,smp,SMP configuration and control interface,+PACKAGE_strongswan-mod-smp:libxml2))
728 $(eval $(call BuildPlugin,socket-default,default socket implementation for charon,))
729 $(eval $(call BuildPlugin,socket-dynamic,dynamic socket implementation for charon,))
730 $(eval $(call BuildPlugin,sql,SQL database interface,))
731 $(eval $(call BuildPlugin,sqlite,SQLite database interface,+strongswan-mod-sql +PACKAGE_strongswan-mod-sqlite:libsqlite3))
732 $(eval $(call BuildPlugin,sshkey,SSH key decoding,))
733 $(eval $(call BuildPlugin,stroke,Stroke,+strongswan-charon +strongswan-ipsec))
734 $(eval $(call BuildPlugin,test-vectors,crypto test vectors,))
735 $(eval $(call BuildPlugin,uci,UCI config interface,+PACKAGE_strongswan-mod-uci:libuci))
736 $(eval $(call BuildPlugin,unity,Cisco Unity extension,))
737 $(eval $(call BuildPlugin,updown,updown firewall,))
738 $(eval $(call BuildPlugin,vici,Versatile IKE Configuration Interface,))
739 $(eval $(call BuildPlugin,whitelist,peer identity whitelisting,))
740 $(eval $(call BuildPlugin,x509,x509 certificate,))
741 $(eval $(call BuildPlugin,xauth-eap,EAP XAuth backend,))
742 $(eval $(call BuildPlugin,xauth-generic,generic XAuth backend,))
743 $(eval $(call BuildPlugin,xcbc,xcbc crypto,))