2 # Copyright (C) 2010-2011 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
14 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.bz2
15 PKG_SOURCE_URL
:=http
://download.strongswan.org
/
16 PKG_MD5SUM
:=81a4a699c4a1a49b74061dfa47b5a033
73 PKG_CONFIG_DEPENDS
:= \
74 CONFIG_STRONGSWAN4_ENABLE_CISCO_QUIRKS \
75 CONFIG_STRONGSWAN4_ENABLE_NAT_TRANSPORT \
76 CONFIG_STRONGSWAN4_ENABLE_VENDOR_ID \
77 CONFIG_STRONGSWAN4_ENABLE_XAUTH_VID \
78 CONFIG_STRONGSWAN4_DEVICE_RANDOM \
79 CONFIG_STRONGSWAN4_DEVICE_URANDOM \
80 CONFIG_STRONGSWAN4_ROUTING_TABLE \
81 CONFIG_STRONGSWAN4_ROUTING_TABLE_PRIO \
82 $(patsubst %,CONFIG_PACKAGE_strongswan4-mod-
%,$(PKG_MOD_AVAILABLE
)) \
88 include $(INCLUDE_DIR
)/package.mk
91 define Package
/strongswan4
/Default
96 URL
:=http
://www.strongswan.org
/
99 define Package
/strongswan4
/description
/Default
100 StrongSwan is an OpenSource IPsec implementation for the Linux
105 define Package
/strongswan4
106 $(call Package
/strongswan4
/Default
)
107 DEPENDS
:= +libpthread
+ip \
108 +kmod-crypto-authenc \
109 +kmod-ipsec
+kmod-ipsec4 \
110 +kmod-ipt-ipsec
+iptables-mod-ipsec
114 define Package
/strongswan4
/config
115 source
"$(SOURCE)/Config.in"
118 define Package
/strongswan4
/description
119 $(call Package
/strongswan4
/description
/Default
)
121 This package contains shared libraries and scripts.
125 define Package
/strongswan4-full
126 $(call Package
/strongswan4
/Default
)
128 DEPENDS
:= strongswan4 \
129 +strongswan4-app-charon \
130 +strongswan4-app-pluto \
131 +strongswan4-mod-aes \
132 +strongswan4-mod-agent \
133 +strongswan4-mod-attr \
134 +strongswan4-mod-attr-sql \
135 +strongswan4-mod-blowfish \
136 +strongswan4-mod-constraints \
137 +strongswan4-mod-curl \
138 +strongswan4-mod-des \
139 +strongswan4-mod-dhcp \
140 +strongswan4-mod-dnskey \
141 +strongswan4-mod-eap-md5 \
142 +strongswan4-mod-eap-mschapv2 \
143 +strongswan4-mod-eap-radius \
144 +strongswan4-mod-farp \
145 +strongswan4-mod-fips-prf \
146 +strongswan4-mod-gcrypt \
147 +strongswan4-mod-gmp \
148 +strongswan4-mod-hmac \
149 +strongswan4-mod-kernel-klips \
150 +strongswan4-mod-kernel-netlink \
151 +strongswan4-mod-kernel-pfkey \
152 +strongswan4-mod-ldap \
153 +strongswan4-mod-led \
154 +strongswan4-mod-load-tester \
155 +strongswan4-mod-md5 \
156 +strongswan4-mod-medcli \
157 +strongswan4-mod-medsrv \
158 +strongswan4-mod-mysql \
159 +TARGET_x86
:strongswan4-mod-padlock \
160 +strongswan4-mod-pem \
161 +strongswan4-mod-pgp \
162 +strongswan4-mod-pkcs1 \
163 +strongswan4-mod-pubkey \
164 +strongswan4-mod-random \
165 +strongswan4-mod-resolve \
166 +strongswan4-mod-revocation \
167 +strongswan4-mod-sha1 \
168 +strongswan4-mod-sha2 \
169 +strongswan4-mod-smp \
170 +strongswan4-mod-socket-default \
171 +strongswan4-mod-socket-raw \
172 +strongswan4-mod-sql \
173 +strongswan4-mod-sqlite \
174 +strongswan4-mod-stroke \
175 +strongswan4-mod-uci \
176 +strongswan4-mod-updown \
177 +strongswan4-mod-x509 \
178 +strongswan4-mod-xauth \
179 +strongswan4-mod-xcbc \
183 define Package
/strongswan4-full
/description
184 $(call Package
/strongswan4
/description
/Default
)
186 This meta-package contains only dependencies for a complete setup.
190 define Package
/strongswan4-default
191 $(call Package
/strongswan4
/Default
)
193 DEPENDS
:= strongswan4 \
194 +strongswan4-app-charon \
195 +strongswan4-app-pluto \
196 +strongswan4-mod-aes \
197 +strongswan4-mod-constraints \
198 +strongswan4-mod-attr \
199 +strongswan4-mod-des \
200 +strongswan4-mod-dnskey \
201 +strongswan4-mod-fips-prf \
202 +strongswan4-mod-gmp \
203 +strongswan4-mod-hmac \
204 +strongswan4-mod-kernel-netlink \
205 +strongswan4-mod-md5 \
206 +strongswan4-mod-pem \
207 +strongswan4-mod-pgp \
208 +strongswan4-mod-pkcs1 \
209 +strongswan4-mod-pubkey \
210 +strongswan4-mod-random \
211 +strongswan4-mod-revocation \
212 +strongswan4-mod-resolve \
213 +strongswan4-mod-sha1 \
214 +strongswan4-mod-sha2 \
215 +strongswan4-mod-socket-raw \
216 +strongswan4-mod-stroke \
217 +strongswan4-mod-updown \
218 +strongswan4-mod-x509 \
219 +strongswan4-mod-xauth \
220 +strongswan4-mod-xcbc \
224 define Package
/strongswan4-default
/description
225 $(call Package
/strongswan4
/description
/Default
)
227 This meta-package contains only dependencies to match upstream
232 define Package
/strongswan4-minimal
233 $(call Package
/strongswan4
/Default
)
235 DEPENDS
:= strongswan4 \
236 +strongswan4-app-charon \
237 +strongswan4-mod-aes \
238 +strongswan4-mod-gmp \
239 +strongswan4-mod-hmac \
240 +strongswan4-mod-kernel-netlink \
241 +strongswan4-mod-pubkey \
242 +strongswan4-mod-random \
243 +strongswan4-mod-sha1 \
244 +strongswan4-mod-socket-default \
245 +strongswan4-mod-stroke \
246 +strongswan4-mod-updown \
247 +strongswan4-mod-x509 \
248 +strongswan4-mod-xcbc
251 define Package
/strongswan4-minimal
/description
252 $(call Package
/strongswan4
/description
/Default
)
254 This meta-package contains only dependencies for a minimal IKEv2 setup.
258 define Package
/strongswan4-app-charon
259 $(call Package
/strongswan4
/Default
)
260 TITLE
+= IKEv2 keying daemon
261 DEPENDS
:= strongswan4
264 define Package
/strongswan4-app-charon
/description
265 $(call Package
/strongswan4
/description
/Default
)
267 This package contains charon
, an IKEv2 keying daemon.
271 define Package
/strongswan4-app-pluto
272 $(call Package
/strongswan4
/Default
)
273 TITLE
+= IKEv1 keying daemon
274 DEPENDS
:= strongswan4
277 define Package
/strongswan4-app-pluto
/description
278 $(call Package
/strongswan4
/description
/Default
)
280 This package contains pluto
, an IKEv1 keying daemon.
284 define Package
/strongswan4-utils
285 $(call Package
/strongswan4
/Default
)
287 DEPENDS
:= strongswan4
290 define Package
/strongswan4-utils
/description
291 $(call Package
/strongswan4
/description
/Default
)
293 This package contains the openac
, pki
& scepclient utilities.
301 define Package
/strongswan4-mod-
$(1)
302 $$(call Package
/strongswan4
/Default
)
303 TITLE
:= StrongSwan
$(2) plugin
304 DEPENDS
:= strongswan4
$(3)
307 define Package
/strongswan4-mod-
$(1)/install
308 $(INSTALL_DIR
) $$(1)/usr
/lib
/ipsec
/plugins
310 $(PKG_INSTALL_DIR
)/usr
/lib
/ipsec
/plugins
/libstrongswan-
$(1).so \
311 $$(1)/usr
/lib
/ipsec
/plugins
/ ;
312 $(call Plugin
/$(1)/install,$$(1))
315 $$(eval
$$(call BuildPackage
,strongswan4-mod-
$(1)))
320 $(if
$(CONFIG_STRONGSWAN4_ENABLE_CISCO_QUIRKS
),--enable-cisco-quirks
,--disable-cisco-quirks
) \
321 $(if
$(CONFIG_STRONGSWAN4_ENABLE_NAT_TRANSPORT
),--enable-nat-transport
,--disable-nat-transport
) \
322 $(if
$(CONFIG_STRONGSWAN4_ENABLE_VENDOR_ID
),--enable-vendor-id
,--disable-vendor-id
) \
323 $(if
$(CONFIG_STRONGSWAN4_ENABLE_XAUTH_VID
),--enable-xauth-vid
,--disable-xauth-vid
) \
326 $(if
$(CONFIG_PACKAGE_strongswan4-utils
),--enable-tools
,--disable-tools
) \
327 --with-random-device
="$(call qstrip,$(CONFIG_STRONGSWAN4_DEVICE_RANDOM))" \
328 --with-urandom-device
="$(call qstrip,$(CONFIG_STRONGSWAN4_DEVICE_URANDOM))" \
329 --with-routing-table
="$(call qstrip,$(CONFIG_STRONGSWAN4_ROUTING_TABLE))" \
330 --with-routing-table-prio
="$(call qstrip,$(CONFIG_STRONGSWAN4_ROUTING_TABLE_PRIO))" \
331 $(foreach m
,$(PKG_MOD_AVAILABLE
), \
332 $(if
$(CONFIG_PACKAGE_strongswan4-mod-
$(m
)),--enable-
$(m
),--disable-
$(m
)) \
335 EXTRA_CPPFLAGS
+= -I
$(STAGING_DIR
)/usr
/include/ClearSilver
337 EXTRA_LDFLAGS
+= -Wl
,-rpath-link
,$(STAGING_DIR
)/usr
/lib
340 define Package
/strongswan4
/conffiles
346 define Package
/strongswan4
/install
347 $(INSTALL_DIR
) $(1)/etc
348 $(CP
) -R
$(PKG_INSTALL_DIR
)/etc
/ipsec.d
$(1)/etc
/
349 $(INSTALL_DIR
) $(1)/usr
/lib
351 $(PKG_INSTALL_DIR
)/usr
/lib
/libstrongswan.so.
* \
352 $(PKG_INSTALL_DIR
)/usr
/lib
/libhydra.so.
* \
354 $(INSTALL_DIR
) $(1)/usr
/sbin
355 $(CP
) $(PKG_INSTALL_DIR
)/usr
/sbin
/ipsec
$(1)/usr
/sbin
/
356 $(INSTALL_DIR
) $(1)/usr
/lib
/ipsec
358 $(PKG_INSTALL_DIR
)/usr
/lib
/ipsec
/_copyright \
359 $(PKG_INSTALL_DIR
)/usr
/lib
/ipsec
/starter \
363 .
/files
/ipsec.secrets \
364 .
/files
/strongswan.conf \
369 define Package
/strongswan4-default
/install
374 define Package
/strongswan4-full
/install
379 define Package
/strongswan4-minimal
/install
384 define Package
/strongswan4-app-charon
/install
385 $(INSTALL_DIR
) $(1)/usr
/lib
386 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libcharon.so.
* $(1)/usr
/lib
/
387 $(INSTALL_DIR
) $(1)/usr
/lib
/ipsec
389 $(PKG_INSTALL_DIR
)/usr
/lib
/ipsec
/charon \
390 $(PKG_INSTALL_DIR
)/usr
/lib
/ipsec
/stroke \
395 define Package
/strongswan4-app-pluto
/install
396 $(INSTALL_DIR
) $(1)/usr
/lib
/ipsec
398 $(PKG_INSTALL_DIR
)/usr
/lib
/ipsec
/pluto \
399 $(PKG_INSTALL_DIR
)/usr
/lib
/ipsec
/_pluto_adns \
400 $(PKG_INSTALL_DIR
)/usr
/lib
/ipsec
/whack \
405 define Package
/strongswan4-utils
/install
406 $(INSTALL_DIR
) $(1)/usr
/lib
/ipsec
408 $(PKG_INSTALL_DIR
)/usr
/lib
/ipsec
/openac \
409 $(PKG_INSTALL_DIR
)/usr
/lib
/ipsec
/pki \
410 $(PKG_INSTALL_DIR
)/usr
/lib
/ipsec
/scepclient \
415 define Plugin
/attr-sql
/install
416 $(INSTALL_DIR
) $(1)/usr
/lib
/ipsec
418 $(PKG_INSTALL_DIR
)/usr
/lib
/ipsec
/pool \
422 define Plugin
/updown
/install
423 $(INSTALL_DIR
) $(1)/usr
/lib
/ipsec
425 $(PKG_INSTALL_DIR
)/usr
/lib
/ipsec
/_updown \
426 $(PKG_INSTALL_DIR
)/usr
/lib
/ipsec
/_updown_espmark \
431 $(eval
$(call BuildPackage
,strongswan4
))
432 $(eval
$(call BuildPackage
,strongswan4-default
))
433 $(eval
$(call BuildPackage
,strongswan4-full
))
434 $(eval
$(call BuildPackage
,strongswan4-minimal
))
435 $(eval
$(call BuildPackage
,strongswan4-app-charon
))
436 $(eval
$(call BuildPackage
,strongswan4-app-pluto
))
437 $(eval
$(call BuildPackage
,strongswan4-utils
))
439 $(eval
$(call BuildPlugin
,aes
,AES crypto
,))
440 $(eval
$(call BuildPlugin
,agent
,SSH agent signing
,))
441 $(eval
$(call BuildPlugin
,attr
,File-based config attr
,))
442 $(eval
$(call BuildPlugin
,attr-sql
,SQL-based config attrib
,+strongswan4-mod-sql
))
443 $(eval
$(call BuildPlugin
,blowfish
,Blowfish crypto
,))
444 $(eval
$(call BuildPlugin
,constraints
,X
.509 constraint checking
,))
445 $(eval
$(call BuildPlugin
,curl
,cURL
,+libcurl
))
446 $(eval
$(call BuildPlugin
,des
,DES crypto
,))
447 $(eval
$(call BuildPlugin
,dhcp
,DHCP-based IP and DNS
,))
448 $(eval
$(call BuildPlugin
,dnskey
,DNS RR key decoding
,))
449 $(eval
$(call BuildPlugin
,eap-md5
,MD5 EAP
(CHAP
) auth
,))
450 $(eval
$(call BuildPlugin
,eap-mschapv2
,MS-CHAPv2 EAP auth
,))
451 $(eval
$(call BuildPlugin
,eap-radius
,RADIUS proxy auth
,))
452 $(eval
$(call BuildPlugin
,farp
,Fake arp respsonses
,))
453 $(eval
$(call BuildPlugin
,fips-prf
,FIPS PRF crypto
,))
454 $(eval
$(call BuildPlugin
,gcrypt
,libgcrypt
,+libgcrypt
))
455 $(eval
$(call BuildPlugin
,gmp
,libgmp
,+libgmp
))
456 $(eval
$(call BuildPlugin
,hmac
,HMAC crypto
,))
457 $(eval
$(call BuildPlugin
,kernel-klips
,KLIPS kernel interface
,))
458 $(eval
$(call BuildPlugin
,kernel-netlink
,netlink kernel interface
,))
459 $(eval
$(call BuildPlugin
,kernel-pfkey
,PK_KEY kernel interface
,))
460 $(eval
$(call BuildPlugin
,ldap
,LDAP
,+libopenldap
))
461 $(eval
$(call BuildPlugin
,led
,LED blink on IKE activity
,))
462 $(eval
$(call BuildPlugin
,load-tester
,load testing
,))
463 $(eval
$(call BuildPlugin
,md5
,MD5 crypto
,))
464 $(eval
$(call BuildPlugin
,medcli
,mediation client configuration database
,))
465 $(eval
$(call BuildPlugin
,medsrv
,mediation server configuration database
,))
466 $(eval
$(call BuildPlugin
,mysql
,MySQL database interface
,+strongswan4-mod-sql
+PACKAGE_strongswan4-mod-mysql
:libmysqlclient
))
467 $(eval
$(call BuildPlugin
,padlock
,VIA PadLock crypto
,@TARGET_x86
))
468 $(eval
$(call BuildPlugin
,pem
,PEM decoding
,))
469 $(eval
$(call BuildPlugin
,pgp
,PGP key decoding
,))
470 $(eval
$(call BuildPlugin
,pkcs1
,PKCS1 key decoding
,))
471 $(eval
$(call BuildPlugin
,pubkey
,raw public key
,))
472 $(eval
$(call BuildPlugin
,random
,RNG
,))
473 $(eval
$(call BuildPlugin
,resolve
,DNS resolver
,))
474 $(eval
$(call BuildPlugin
,revocation
,X
.509 revocation checking
,))
475 $(eval
$(call BuildPlugin
,sha1
,SHA1 crypto
,))
476 $(eval
$(call BuildPlugin
,sha2
,SHA2 crypto
,))
477 $(eval
$(call BuildPlugin
,smp
,SMP configuration and control interface
,+PACKAGE_strongswan4-mod-smp
:libxml2
))
478 $(eval
$(call BuildPlugin
,socket-default
,default socket for IKEv2
,))
479 $(eval
$(call BuildPlugin
,socket-raw
,RAW socket for IKEv1 and IKEv2
,))
480 $(eval
$(call BuildPlugin
,sql
,SQL database interface
,))
481 $(eval
$(call BuildPlugin
,sqlite
,SQLite database interface
,+strongswan4-mod-sql
+PACKAGE_strongswan4-mod-sqlite
:libsqlite3
))
482 $(eval
$(call BuildPlugin
,stroke
,Stroke
,))
483 $(eval
$(call BuildPlugin
,uci
,UCI config interface
,+libuci
))
484 $(eval
$(call BuildPlugin
,updown
,updown firewall
,))
485 $(eval
$(call BuildPlugin
,x509
,x509 certificate
,))
486 $(eval
$(call BuildPlugin
,xauth
,XAUTH authentication
,))
487 $(eval
$(call BuildPlugin
,xcbc
,xcbc crypto
,))