2 # Copyright (C) 2008-2010 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
:=freeradius-server-
$(PKG_VERSION
).
tar.bz2
15 PKG_SOURCE_URL
:=ftp
://ftp.freeradius.org
/pub
/freeradius
/
16 PKG_MD5SUM
:=5e16a0869acdf448b191c7e30f6507d8
18 PKG_BUILD_DIR
:=$(BUILD_DIR
)/freeradius-server-
$(PKG_VERSION
)
21 include $(INCLUDE_DIR
)/package.mk
23 define Package
/freeradius2
/Default
26 URL
:=http
://freeradius.org
/
29 define Package
/freeradius2
30 $(call Package
/freeradius2
/Default
)
31 DEPENDS
:=+libltdl
+libopenssl
+libpthread
+libreadline
32 TITLE
:=A flexible RADIUS server
(version
2)
36 define Package
/freeradius2
/conffiles
37 /etc
/freeradius2
/clients.conf
38 /etc
/freeradius2
/radiusd.conf
39 /etc
/freeradius2
/sites
/default
42 define Package
/freeradius2-democerts
43 $(call Package
/freeradius2
/Default
)
45 TITLE
:=Demo certificates to
test the server
48 define Package
/freeradius2-mod-chap
49 $(call Package
/freeradius2
/Default
)
54 define Package
/freeradius2-mod-chap
/conffiles
55 /etc
/freeradius2
/modules
/chap
58 define Package
/freeradius2-mod-detail
59 $(call Package
/freeradius2
/Default
)
61 TITLE
:=Detailed accounting module
64 define Package
/freeradius2-mod-detail
/conffiles
65 /etc
/freeradius2
/modules
/detail
68 define Package
/freeradius2-mod-eap
69 $(call Package
/freeradius2
/Default
)
71 TITLE
:=Base EAP module
74 define Package
/freeradius2-mod-eap
/conffiles
75 /etc
/freeradius2
/eap.conf
78 define Package
/freeradius2-mod-eap-gtc
79 $(call Package
/freeradius2
/Default
)
80 DEPENDS
:=freeradius2-mod-eap
84 define Package
/freeradius2-mod-eap-md5
85 $(call Package
/freeradius2
/Default
)
86 DEPENDS
:=freeradius2-mod-eap
90 define Package
/freeradius2-mod-eap-mschapv2
91 $(call Package
/freeradius2
/Default
)
92 DEPENDS
:=freeradius2-mod-eap
93 TITLE
:=EAP
/MS-CHAPv2 module
96 define Package
/freeradius2-mod-eap-peap
97 $(call Package
/freeradius2
/Default
)
98 DEPENDS
:=freeradius2-mod-eap
99 TITLE
:=EAP
/PEAP module
102 define Package
/freeradius2-mod-eap-tls
103 $(call Package
/freeradius2
/Default
)
104 DEPENDS
:=freeradius2-mod-eap
105 TITLE
:=EAP
/TLS module
108 define Package
/freeradius2-mod-eap-ttls
109 $(call Package
/freeradius2
/Default
)
110 DEPENDS
:=freeradius2-mod-eap-tls
111 TITLE
:=EAP
/TTLS module
114 define Package
/freeradius2-mod-exec
115 $(call Package
/freeradius2
/Default
)
120 define Package
/freeradius2-mod-exec
/conffiles
121 /etc
/freeradius2
/modules
/exec
124 define Package
/freeradius2-mod-expiration
125 $(call Package
/freeradius2
/Default
)
127 TITLE
:=Expiration module
130 define Package
/freeradius2-mod-expiration
/conffiles
131 /etc
/freeradius2
/modules
/expiration
134 define Package
/freeradius2-mod-always
135 $(call Package
/freeradius2
/Default
)
140 define Package
/freeradius2-mod-always
/conffiles
141 /etc
/freeradius2
/modules
/always
144 define Package
/freeradius2-mod-expr
145 $(call Package
/freeradius2
/Default
)
150 define Package
/freeradius2-mod-expr
/conffiles
151 /etc
/freeradius2
/modules
/expr
154 define Package
/freeradius2-mod-attr-filter
155 $(call Package
/freeradius2
/Default
)
157 TITLE
:=ATTR
filter module
160 define Package
/freeradius2-mod-attr-filter
/conffiles
161 /etc
/freeradius2
/modules
/attr_filter
162 /etc
/freeradius2
/attrs
163 /etc
/freeradius2
/attrs.access_reject
164 /etc
/freeradius2
/attrs.accounting_response
165 /etc
/freeradius2
/attrs.pre-proxy
168 define Package
/freeradius2-mod-attr-rewrite
169 $(call Package
/freeradius2
/Default
)
171 TITLE
:=ATTR rewrite module
174 define Package
/freeradius2-mod-attr-rewrite
/conffiles
175 /etc
/freeradius2
/modules
/attr_rewrite
178 define Package
/freeradius2-mod-files
179 $(call Package
/freeradius2
/Default
)
181 TITLE
:=Module using local files for authorization
184 define Package
/freeradius2-mod-files
/conffiles
185 /etc
/freeradius2
/acct_users
186 /etc
/freeradius2
/preproxy_users
187 /etc
/freeradius2
/users
188 /etc
/freeradius2
/modules
/files
191 define Package
/freeradius2-mod-ldap
192 $(call Package
/freeradius2
/Default
)
193 DEPENDS
:=freeradius2
+libopenldap
197 define Package
/freeradius2-mod-ldap
/conffiles
198 /etc
/freeradius2
/ldap.attrmap
199 /etc
/freeradius2
/modules
/ldap
202 define Package
/freeradius2-mod-logintime
203 $(call Package
/freeradius2
/Default
)
205 TITLE
:=Logintime module
208 define Package
/freeradius2-mod-logintime
/conffiles
209 /etc
/freeradius2
/modules
/logintime
212 define Package
/freeradius2-mod-mschap
213 $(call Package
/freeradius2
/Default
)
215 TITLE
:=MS-CHAP and MS-CHAPv2 module
218 define Package
/freeradius2-mod-mschap
/conffiles
219 /etc
/freeradius2
/modules
/mschap
222 define Package
/freeradius2-mod-pap
223 $(call Package
/freeradius2
/Default
)
228 define Package
/freeradius2-mod-pap
/conffiles
229 /etc
/freeradius2
/modules
/pap
232 define Package
/freeradius2-mod-preprocess
233 $(call Package
/freeradius2
/Default
)
235 TITLE
:=Request pre-processing module
238 define Package
/freeradius2-mod-preprocess
/conffiles
239 /etc
/freeradius2
/hints
240 /etc
/freeradius2
/huntgroups
241 /etc
/freeradius2
/modules
/preprocess
244 define Package
/freeradius2-mod-realm
245 $(call Package
/freeradius2
/Default
)
247 TITLE
:=Realms handling module
250 define Package
/freeradius2-mod-realm
/conffiles
251 /etc
/freeradius2
/proxy.conf
252 /etc
/freeradius2
/modules
/realm
255 define Package
/freeradius2-mod-sql
256 $(call Package
/freeradius2
/Default
)
258 TITLE
:=Base SQL module
261 define Package
/freeradius2-mod-sql
/conffiles
262 /etc
/freeradius2
/sql.conf
265 define Package
/freeradius2-mod-sql-mysql
266 $(call Package
/freeradius2
/Default
)
267 DEPENDS
:=freeradius2-mod-sql \
268 +PACKAGE_freeradius2-mod-sql-mysql
:libmysqlclient
272 define Package
/freeradius2-mod-sql-pgsql
273 $(call Package
/freeradius2
/Default
)
274 DEPENDS
:=freeradius2-mod-sql \
275 +PACKAGE_freeradius2-mod-sql-pgsql
:libpq
276 TITLE
:=PostgreSQL module
279 define Package
/freeradius2-mod-sqlcounter
280 $(call Package
/freeradius2
/Default
)
281 DEPENDS
:=freeradius2-mod-sql
282 TITLE
:=Generic SQL Counter module
285 define Package
/freeradius2-mod-radutmp
286 $(call Package
/freeradius2
/Default
)
288 TITLE
:=Radius UTMP module
291 define Package
/freeradius2-mod-radutmp
/conffiles
292 /etc
/freeradius2
/modules
/radutmp
293 /etc
/freeradius2
/modules
/sradutmp
296 define Package
/freeradius2-utils
297 $(call Package
/freeradius2
/Default
)
299 TITLE
:=Misc. client utilities
303 --libdir=/usr
/lib
/freeradius2 \
304 --libexecdir
=/usr
/lib
/freeradius2 \
307 --disable-developer \
309 --with-openssl-includes
="$(STAGING_DIR)/usr/include" \
310 --with-openssl-libraries
="$(STAGING_DIR)/usr/lib" \
311 --with-system-libtool \
312 --with-system-libltdl \
313 --enable-strict-dependencies \
314 --with-raddbdir
=/etc
/freeradius2 \
315 --with-radacctdir
=/var
/db
/radacct \
316 --with-logdir
=/var
/log \
319 --without-rlm_checkval \
321 --without-rlm_counter \
324 --without-rlm_eap_sim \
325 --without-rlm_example \
326 --without-rlm_ippool \
329 --without-rlm_smsotp \
332 --without-rlm_python \
334 --without-rlm_always \
336 --with-rlm_sqlcounter \
337 --without-rlm_sqlhpwippool \
338 --without-rlm_sqlippool \
339 --without-rlm_sql_db2 \
340 --without-rlm_sql_firebird \
341 --without-rlm_sql_freetds \
342 --without-rlm_sql_iodbc \
343 --without-rlm_sql_oracle \
344 --without-rlm_sql_sybase \
345 --without-rlm_sql_unixodbc \
346 --without-rlm_sql_log \
347 --without-rlm_sql_sqlite \
349 --without-rlm_eap_tnc \
350 --without-rlm_eap_ikev2 \
351 --without-rlm_opendirectory \
352 --without-rlm_wimax \
355 freeradius freeradius.internal \
356 rfc2865 rfc2866 rfc2867 rfc2868 rfc2869 rfc3162 rfc3576 rfc3580 \
357 rfc4372 rfc4675 rfc4679 \
361 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-ldap
),)
363 --with-rlm_ldap-include-dir
="$(STAGING_DIR)/usr/include" \
364 --with-rlm_ldap-lib-dir
="$(STAGING_DIR)/usr/lib"
365 CONFIGURE_LIBS
+= -lcrypto
-lssl
367 CONFIGURE_ARGS
+= --without-rlm_ldap
370 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-sql-mysql
),)
372 --with-mysql-include-dir
="$(STAGING_DIR)/usr/include" \
373 --with-mysql-lib-dir
="$(STAGING_DIR)/usr/lib/mysql"
375 CONFIGURE_VARS
+= ac_cv_lib_mysqlclient_r_mysql_init
=yes
377 CONFIGURE_ARGS
+= --without-rlm_sql_mysql
380 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-sql-pgsql
),)
382 --with-rlm_sql_postgresql-include-dir
="$(STAGING_DIR)/usr/include" \
383 --with-rlm_sql_postgresql-lib-dir
="$(STAGING_DIR)/usr/lib"
385 CONFIGURE_ARGS
+= --without-rlm_sql_postgresql
388 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-eap-peap
),)
390 --with-rlm_eap_peap \
391 --with-rlm_eap_peap-include-dir
="$(STAGING_DIR)/usr/include" \
392 --with-rlm_eap_peap-lib-dir
="$(STAGING_DIR)/usr/lib"
393 CONFIGURE_LIBS
+= -lcrypto
-lssl
395 CONFIGURE_ARGS
+= --without-rlm_eap_peap
398 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-eap-tls
),)
401 --with-rlm_eap_tls-include-dir
="$(STAGING_DIR)/usr/include" \
402 --with-rlm_eap_tls-lib-dir
="$(STAGING_DIR)/usr/lib"
403 CONFIGURE_LIBS
+= -lcrypto
-lssl
405 CONFIGURE_ARGS
+= --without-rlm_eap_tls
408 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-eap-ttls
),)
410 --with-rlm_eap_ttls \
411 --with-rlm_eap_ttls-include-dir
="$(STAGING_DIR)/usr/include" \
412 --with-rlm_eap_ttls-lib-dir
="$(STAGING_DIR)/usr/lib"
413 CONFIGURE_LIBS
+= -lcrypto
-lssl
415 CONFIGURE_ARGS
+= --without-rlm_eap_ttls
418 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-attr-rewrite
),)
419 CONFIGURE_ARGS
+= --with-rlm_attr-rewrite
421 CONFIGURE_ARGS
+= --without-rlm_attr-rewrite
424 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-radutmp
),)
425 CONFIGURE_ARGS
+= --with-rlm_radutmp
427 CONFIGURE_ARGS
+= --without-rlm_radutmp
430 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-logintime
),)
431 CONFIGURE_ARGS
+= --with-rlm_logintime
433 CONFIGURE_ARGS
+= --without-rlm_logintime
436 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-expiration
),)
437 CONFIGURE_ARGS
+= --with-rlm_expiration
439 CONFIGURE_ARGS
+= --without-rlm_expiration
442 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-always
),)
443 CONFIGURE_ARGS
+= --with-rlm_always
445 CONFIGURE_ARGS
+= --without-rlm_always
449 LDFLAGS
="$$$$LDFLAGS" \
450 LIBS
="$(CONFIGURE_LIBS)" \
452 ac_cv_lib_readline
=no \
455 $(MAKE
) -C
$(PKG_BUILD_DIR
) \
456 R
="$(PKG_INSTALL_DIR)" \
461 define Package
/freeradius2
/install
462 $(INSTALL_DIR
) $(1)/etc
/freeradius2
463 $(INSTALL_DIR
) $(1)/etc
/freeradius2
/modules
464 $(INSTALL_DIR
) $(1)/etc
/freeradius2
/sites
465 chmod
771 $(1)/etc
/freeradius2
466 for f in clients.conf dictionary radiusd.conf policy.conf
; do \
467 $(CP
) $(PKG_INSTALL_DIR
)/etc
/freeradius2
/$$$${f} $(1)/etc
/freeradius2
/ ; \
469 $(CP
) $(PKG_INSTALL_DIR
)/etc
/freeradius2
/sites-available
/default
$(1)/etc
/freeradius2
/sites
/default
470 $(INSTALL_DIR
) $(1)/usr
/share
/freeradius2
471 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/freeradius
/dictionary
$(1)/usr
/share
/freeradius2
/
472 $(SED
) "s,^\(\$$$$INCLUDE\),#\1,g" $(1)/usr
/share
/freeradius2
/dictionary
473 for f in
$(PKG_DICTIONARIES
); do \
474 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/freeradius
/dictionary.
$$$${f} $(1)/usr
/share
/freeradius2
/ ; \
475 $(SED
) "s,^#\(\$$$$INCLUDE dictionary\.$$$${f}\),\1,g" $(1)/usr
/share
/freeradius2
/dictionary
; \
477 $(INSTALL_DIR
) $(1)/usr
/lib
/freeradius2
478 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/freeradius2
/libfreeradius-radius
{,-*}.so
$(1)/usr
/lib
/freeradius2
479 ln
-s freeradius2
/libfreeradius-radius-
$(PKG_VERSION
).so
$(1)/usr
/lib
/
480 ln
-s freeradius2
/libfreeradius-eap-
$(PKG_VERSION
).so
$(1)/usr
/lib
/
481 $(INSTALL_DIR
) $(1)/usr
/sbin
482 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/radiusd
$(1)/usr
/sbin
/
483 $(INSTALL_DIR
) $(1)/etc
/init.d
484 $(INSTALL_BIN
) .
/files
/radiusd.init
$(1)/etc
/init.d
/radiusd
487 define Package
/freeradius2-democerts
/install
488 $(INSTALL_DIR
) $(1)/etc
/freeradius2
/certs
490 $(PKG_BUILD_DIR
)/raddb
/certs
/ca.pem \
491 $(PKG_BUILD_DIR
)/raddb
/certs
/dh \
492 $(PKG_BUILD_DIR
)/raddb
/certs
/random \
493 $(PKG_BUILD_DIR
)/raddb
/certs
/server.pem \
494 $(1)/etc
/freeradius2
/certs
/
497 define Package
/freeradius2-utils
/install
498 $(INSTALL_DIR
) $(1)/usr
/bin
499 for f in radclient radeapclient
; do \
500 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/$$$${f} $(1)/usr
/bin
/ ; \
505 define Package
/$(1)/install
506 [ -z
"$(2)" ] ||
$(INSTALL_DIR
) $$(1)/usr
/lib
/freeradius2
508 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/freeradius2
/$$$$$$$${m}{,-*}.so
$$(1)/usr
/lib
/freeradius2
; \
510 [ -z
"$(3)" ] ||
$(INSTALL_DIR
) $$(1)/etc
/freeradius2
511 [ -z
"$(4)" ] ||
$(INSTALL_DIR
) $$(1)/etc
/freeradius2
/$(4)
513 $(CP
) $(PKG_INSTALL_DIR
)/etc
/freeradius2
/$$$$$$$${f} $$(1)/etc
/freeradius2
/$$$$$$$${f} ; \
517 $$(eval
$$(call BuildPackage
,$(1)))
520 $(eval
$(call BuildPackage
,freeradius2
))
521 $(eval
$(call BuildPackage
,freeradius2-democerts
))
522 $(eval
$(call BuildPlugin
,freeradius2-mod-chap
,rlm_chap
,modules
/chap
,modules
,))
523 $(eval
$(call BuildPlugin
,freeradius2-mod-detail
,rlm_detail
,modules
/detail
,modules
,))
524 $(eval
$(call BuildPlugin
,freeradius2-mod-eap
,libfreeradius-eap rlm_eap
,eap.conf
))
525 $(eval
$(call BuildPlugin
,freeradius2-mod-eap-gtc
,rlm_eap_gtc
,))
526 $(eval
$(call BuildPlugin
,freeradius2-mod-eap-md5
,rlm_eap_md5
,))
527 $(eval
$(call BuildPlugin
,freeradius2-mod-eap-mschapv2
,rlm_eap_mschapv2
,))
528 $(eval
$(call BuildPlugin
,freeradius2-mod-eap-peap
,rlm_eap_peap
,))
529 $(eval
$(call BuildPlugin
,freeradius2-mod-eap-tls
,rlm_eap_tls
,))
530 $(eval
$(call BuildPlugin
,freeradius2-mod-eap-ttls
,rlm_eap_ttls
,))
531 $(eval
$(call BuildPlugin
,freeradius2-mod-exec
,rlm_exec
,modules
/exec modules
/echo
,modules
,))
532 $(eval
$(call BuildPlugin
,freeradius2-mod-attr-rewrite
,rlm_attr_rewrite
,modules
/attr_rewrite
,modules
,))
533 $(eval
$(call BuildPlugin
,freeradius2-mod-files
,rlm_files
,acct_users preproxy_users users modules
/files
,modules
,))
534 $(eval
$(call BuildPlugin
,freeradius2-mod-ldap
,rlm_ldap
,ldap.attrmap modules
/ldap
,modules
,))
535 $(eval
$(call BuildPlugin
,freeradius2-mod-mschap
,rlm_mschap
,modules
/mschap
,modules
,))
536 $(eval
$(call BuildPlugin
,freeradius2-mod-pap
,rlm_pap
,modules
/pap
,modules
,))
537 $(eval
$(call BuildPlugin
,freeradius2-mod-preprocess
,rlm_preprocess
,hints huntgroups modules
/preprocess
,modules
,))
538 $(eval
$(call BuildPlugin
,freeradius2-mod-realm
,rlm_realm
,proxy.conf modules
/realm modules
/inner-eap
,modules
,))
539 $(eval
$(call BuildPlugin
,freeradius2-mod-sql
,rlm_sql
,sql.conf
,))
540 $(eval
$(call BuildPlugin
,freeradius2-mod-sql-mysql
,rlm_sql_mysql
,))
541 $(eval
$(call BuildPlugin
,freeradius2-mod-sql-pgsql
,rlm_sql_postgresql
,))
542 $(eval
$(call BuildPlugin
,freeradius2-mod-sqlcounter
,rlm_sqlcounter
,))
543 $(eval
$(call BuildPlugin
,freeradius2-mod-radutmp
,rlm_radutmp
,modules
/radutmp modules
/sradutmp
,modules
,))
544 $(eval
$(call BuildPlugin
,freeradius2-mod-logintime
,rlm_logintime
,modules
/logintime
,modules
,))
545 $(eval
$(call BuildPlugin
,freeradius2-mod-expr
,rlm_expr
,modules
/expr
,modules
,))
546 $(eval
$(call BuildPlugin
,freeradius2-mod-attr-filter
,rlm_attr_filter
,modules
/attr_filter attrs attrs.access_reject attrs.accounting_response attrs.pre-proxy
,modules
,,))
547 $(eval
$(call BuildPlugin
,freeradius2-mod-expiration
,rlm_expiration
,modules
/expiration
,modules
,))
548 $(eval
$(call BuildPlugin
,freeradius2-mod-always
,rlm_always
,modules
/always
,modules
,))
549 $(eval
$(call BuildPackage
,freeradius2-utils
))