2 # Copyright (C) 2008-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
:=freeradius-server-
$(PKG_VERSION
).
tar.bz2
15 PKG_SOURCE_URL
:=ftp
://ftp.freeradius.org
/pub
/freeradius
/
16 PKG_MD5SUM
:=862d3a2c11011e61890ba84fa636ed8c
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
+freeradius2-mod-mschap
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-passwd
192 $(call Package
/freeradius2
/Default
)
194 TITLE
:=Rlm passwd module
197 define Package
/freeradius2-mod-passwd
/conffiles
198 /etc
/freeradius2
/modules
/passwd
201 define Package
/freeradius2-mod-ldap
202 $(call Package
/freeradius2
/Default
)
203 DEPENDS
:=freeradius2
+PACKAGE_freeradius2-mod-ldap
:libopenldap
207 define Package
/freeradius2-mod-ldap
/conffiles
208 /etc
/freeradius2
/ldap.attrmap
209 /etc
/freeradius2
/modules
/ldap
212 define Package
/freeradius2-mod-logintime
213 $(call Package
/freeradius2
/Default
)
215 TITLE
:=Logintime module
218 define Package
/freeradius2-mod-logintime
/conffiles
219 /etc
/freeradius2
/modules
/logintime
222 define Package
/freeradius2-mod-mschap
223 $(call Package
/freeradius2
/Default
)
225 TITLE
:=MS-CHAP and MS-CHAPv2 module
228 define Package
/freeradius2-mod-mschap
/conffiles
229 /etc
/freeradius2
/modules
/mschap
232 define Package
/freeradius2-mod-pap
233 $(call Package
/freeradius2
/Default
)
238 define Package
/freeradius2-mod-pap
/conffiles
239 /etc
/freeradius2
/modules
/pap
242 define Package
/freeradius2-mod-preprocess
243 $(call Package
/freeradius2
/Default
)
245 TITLE
:=Request pre-processing module
248 define Package
/freeradius2-mod-preprocess
/conffiles
249 /etc
/freeradius2
/hints
250 /etc
/freeradius2
/huntgroups
251 /etc
/freeradius2
/modules
/preprocess
254 define Package
/freeradius2-mod-realm
255 $(call Package
/freeradius2
/Default
)
257 TITLE
:=Realms handling module
260 define Package
/freeradius2-mod-realm
/conffiles
261 /etc
/freeradius2
/proxy.conf
262 /etc
/freeradius2
/modules
/realm
265 define Package
/freeradius2-mod-sql
266 $(call Package
/freeradius2
/Default
)
268 TITLE
:=Base SQL module
271 define Package
/freeradius2-mod-sql
/conffiles
272 /etc
/freeradius2
/sql.conf
275 define Package
/freeradius2-mod-sql-mysql
276 $(call Package
/freeradius2
/Default
)
277 DEPENDS
:=freeradius2-mod-sql \
278 +PACKAGE_freeradius2-mod-sql-mysql
:libmysqlclient_r
282 define Package
/freeradius2-mod-sql-pgsql
283 $(call Package
/freeradius2
/Default
)
284 DEPENDS
:=freeradius2-mod-sql \
285 +PACKAGE_freeradius2-mod-sql-pgsql
:libpq
286 TITLE
:=PostgreSQL module
289 define Package
/freeradius2-mod-sql-sqlite
290 $(call Package
/freeradius2
/Default
)
291 DEPENDS
:=freeradius2-mod-sql \
292 +PACKAGE_freeradius2-mod-sql-sqlite
:libsqlite3
296 define Package
/freeradius2-mod-sqlcounter
297 $(call Package
/freeradius2
/Default
)
298 DEPENDS
:=freeradius2-mod-sql
299 TITLE
:=Generic SQL Counter module
302 define Package
/freeradius2-mod-radutmp
303 $(call Package
/freeradius2
/Default
)
305 TITLE
:=Radius UTMP module
308 define Package
/freeradius2-mod-radutmp
/conffiles
309 /etc
/freeradius2
/modules
/radutmp
310 /etc
/freeradius2
/modules
/sradutmp
313 define Package
/freeradius2-utils
314 $(call Package
/freeradius2
/Default
)
316 TITLE
:=Misc. client utilities
320 --libdir=/usr
/lib
/freeradius2 \
321 --libexecdir
=/usr
/lib
/freeradius2 \
324 --disable-developer \
326 --with-openssl-includes
="$(STAGING_DIR)/usr/include" \
327 --with-openssl-libraries
="$(STAGING_DIR)/usr/lib" \
328 --with-system-libtool \
329 --with-system-libltdl \
330 --enable-strict-dependencies \
331 --with-raddbdir
=/etc
/freeradius2 \
332 --with-radacctdir
=/var
/db
/radacct \
333 --with-logdir
=/var
/log \
336 --without-rlm_checkval \
338 --without-rlm_counter \
341 --without-rlm_eap_sim \
342 --without-rlm_example \
343 --without-rlm_ippool \
346 --without-rlm_smsotp \
349 --without-rlm_python \
352 --with-rlm_sqlcounter \
353 --without-rlm_sqlhpwippool \
354 --without-rlm_sqlippool \
355 --without-rlm_sql_db2 \
356 --without-rlm_sql_firebird \
357 --without-rlm_sql_freetds \
358 --without-rlm_sql_iodbc \
359 --without-rlm_sql_oracle \
360 --without-rlm_sql_sybase \
361 --without-rlm_sql_unixodbc \
362 --without-rlm_sql_log \
364 --without-rlm_eap_tnc \
365 --without-rlm_eap_ikev2 \
366 --without-rlm_opendirectory \
367 --without-rlm_wimax \
369 --without-rlm_caching \
370 --without-rlm_redis \
371 --without-rlm_rediswho \
374 --without-rlm_replicate \
375 --without-rlm_protocol_filter \
376 --without-rlm_policy \
377 --without-rlm_linelog \
378 --without-rlm_jradius \
379 --without-rlm_fastusers \
380 --without-rlm_eap_leap \
381 --without-rlm_dynamic_clients \
382 --without-rlm_digest \
384 --without-rlm_copy_packet \
385 --without-rlm_acct_unique \
386 --without-rlm_acctlog
390 freeradius freeradius.internal \
391 rfc2865 rfc2866 rfc2867 rfc2868 rfc2869 rfc3162 rfc3576 rfc3580 \
392 rfc4372 rfc4675 rfc4679 \
396 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-ldap
),)
398 --with-rlm_ldap-include-dir
="$(STAGING_DIR)/usr/include" \
399 --with-rlm_ldap-lib-dir
="$(STAGING_DIR)/usr/lib"
400 CONFIGURE_LIBS
+= -lcrypto
-lssl
402 CONFIGURE_ARGS
+= --without-rlm_ldap
405 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-sql-mysql
),)
407 --with-mysql-include-dir
="$(STAGING_DIR)/usr/include" \
408 --with-mysql-lib-dir
="$(STAGING_DIR)/usr/lib/mysql"
410 CONFIGURE_VARS
+= ac_cv_lib_mysqlclient_r_mysql_init
=yes
412 CONFIGURE_ARGS
+= --without-rlm_sql_mysql
415 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-sql-pgsql
),)
417 --with-rlm_sql_postgresql-include-dir
="$(STAGING_DIR)/usr/include" \
418 --with-rlm_sql_postgresql-lib-dir
="$(STAGING_DIR)/usr/lib"
420 CONFIGURE_ARGS
+= --without-rlm_sql_postgresql
423 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-sql-sqlite
),)
425 --with-rlm_sql_sqlite \
426 --with-experimental-modules \
427 --with-sqlite-include-dir
="$(STAGING_DIR)/usr/include" \
428 --with-sqlite-lib-dir
="$(STAGING_DIR)/usr/lib"
430 CONFIGURE_ARGS
+= --without-rlm_sql_sqlite
433 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-eap-peap
),)
435 --with-rlm_eap_peap \
436 --with-rlm_eap_peap-include-dir
="$(STAGING_DIR)/usr/include" \
437 --with-rlm_eap_peap-lib-dir
="$(STAGING_DIR)/usr/lib"
438 CONFIGURE_LIBS
+= -lcrypto
-lssl
440 CONFIGURE_ARGS
+= --without-rlm_eap_peap
443 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-eap-tls
),)
446 --with-rlm_eap_tls-include-dir
="$(STAGING_DIR)/usr/include" \
447 --with-rlm_eap_tls-lib-dir
="$(STAGING_DIR)/usr/lib"
448 CONFIGURE_LIBS
+= -lcrypto
-lssl
450 CONFIGURE_ARGS
+= --without-rlm_eap_tls
453 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-eap-ttls
),)
455 --with-rlm_eap_ttls \
456 --with-rlm_eap_ttls-include-dir
="$(STAGING_DIR)/usr/include" \
457 --with-rlm_eap_ttls-lib-dir
="$(STAGING_DIR)/usr/lib"
458 CONFIGURE_LIBS
+= -lcrypto
-lssl
460 CONFIGURE_ARGS
+= --without-rlm_eap_ttls
463 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-attr-rewrite
),)
464 CONFIGURE_ARGS
+= --with-rlm_attr-rewrite
466 CONFIGURE_ARGS
+= --without-rlm_attr-rewrite
469 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-radutmp
),)
470 CONFIGURE_ARGS
+= --with-rlm_radutmp
472 CONFIGURE_ARGS
+= --without-rlm_radutmp
475 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-logintime
),)
476 CONFIGURE_ARGS
+= --with-rlm_logintime
478 CONFIGURE_ARGS
+= --without-rlm_logintime
481 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-expiration
),)
482 CONFIGURE_ARGS
+= --with-rlm_expiration
484 CONFIGURE_ARGS
+= --without-rlm_expiration
487 ifneq ($(SDK
)$(CONFIG_PACKAGE_freeradius2-mod-always
),)
488 CONFIGURE_ARGS
+= --with-rlm_always
490 CONFIGURE_ARGS
+= --without-rlm_always
494 LDFLAGS
="$$$$LDFLAGS" \
495 LIBS
="$(CONFIGURE_LIBS)" \
497 ac_cv_lib_readline
=no \
500 $(MAKE
) -C
$(PKG_BUILD_DIR
) \
501 R
="$(PKG_INSTALL_DIR)" \
506 define Package
/freeradius2
/install
507 $(INSTALL_DIR
) $(1)/etc
/freeradius2
508 $(INSTALL_DIR
) $(1)/etc
/freeradius2
/modules
509 $(INSTALL_DIR
) $(1)/etc
/freeradius2
/sites
510 chmod
771 $(1)/etc
/freeradius2
511 for f in clients.conf dictionary radiusd.conf policy.conf
; do \
512 $(CP
) $(PKG_INSTALL_DIR
)/etc
/freeradius2
/$$$${f} $(1)/etc
/freeradius2
/ ; \
514 $(CP
) $(PKG_INSTALL_DIR
)/etc
/freeradius2
/sites-available
/default
$(1)/etc
/freeradius2
/sites
/default
515 $(INSTALL_DIR
) $(1)/usr
/share
/freeradius2
516 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/freeradius
/dictionary
$(1)/usr
/share
/freeradius2
/
517 $(SED
) "s,^\(\$$$$INCLUDE\),#\1,g" $(1)/usr
/share
/freeradius2
/dictionary
518 for f in
$(PKG_DICTIONARIES
); do \
519 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/freeradius
/dictionary.
$$$${f} $(1)/usr
/share
/freeradius2
/ ; \
520 $(SED
) "s,^#\(\$$$$INCLUDE dictionary\.$$$${f}\),\1,g" $(1)/usr
/share
/freeradius2
/dictionary
; \
522 $(INSTALL_DIR
) $(1)/usr
/lib
/freeradius2
523 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/freeradius2
/libfreeradius-radius
{,-*}.so
$(1)/usr
/lib
/freeradius2
524 ln
-s freeradius2
/libfreeradius-radius-
$(PKG_VERSION
).so
$(1)/usr
/lib
/
525 ln
-s freeradius2
/libfreeradius-eap-
$(PKG_VERSION
).so
$(1)/usr
/lib
/
526 $(INSTALL_DIR
) $(1)/usr
/sbin
527 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/radiusd
$(1)/usr
/sbin
/
528 $(INSTALL_DIR
) $(1)/etc
/init.d
529 $(INSTALL_BIN
) .
/files
/radiusd.init
$(1)/etc
/init.d
/radiusd
532 define Package
/freeradius2-democerts
/install
533 $(INSTALL_DIR
) $(1)/etc
/freeradius2
/certs
535 $(PKG_BUILD_DIR
)/raddb
/certs
/ca.pem \
536 $(PKG_BUILD_DIR
)/raddb
/certs
/dh \
537 $(PKG_BUILD_DIR
)/raddb
/certs
/random \
538 $(PKG_BUILD_DIR
)/raddb
/certs
/server.pem \
539 $(1)/etc
/freeradius2
/certs
/
542 define Package
/freeradius2-utils
/install
543 $(INSTALL_DIR
) $(1)/usr
/bin
544 for f in radclient radeapclient radwho
; do \
545 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/$$$${f} $(1)/usr
/bin
/ ; \
550 define Package
/$(1)/install
551 [ -z
"$(2)" ] ||
$(INSTALL_DIR
) $$(1)/usr
/lib
/freeradius2
553 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/freeradius2
/$$$$$$$${m}{,-*}.so
$$(1)/usr
/lib
/freeradius2
; \
555 [ -z
"$(3)" ] ||
$(INSTALL_DIR
) $$(1)/etc
/freeradius2
556 [ -z
"$(4)" ] ||
$(INSTALL_DIR
) $$(1)/etc
/freeradius2
/$(4)
558 $(CP
) $(PKG_INSTALL_DIR
)/etc
/freeradius2
/$$$$$$$${f} $$(1)/etc
/freeradius2
/$$$$$$$${f} ; \
562 $$(eval
$$(call BuildPackage
,$(1)))
565 $(eval
$(call BuildPackage
,freeradius2
))
566 $(eval
$(call BuildPackage
,freeradius2-democerts
))
567 $(eval
$(call BuildPlugin
,freeradius2-mod-chap
,rlm_chap
,modules
/chap
,modules
,))
568 $(eval
$(call BuildPlugin
,freeradius2-mod-detail
,rlm_detail
,modules
/detail
,modules
,))
569 $(eval
$(call BuildPlugin
,freeradius2-mod-eap
,libfreeradius-eap rlm_eap
,eap.conf
))
570 $(eval
$(call BuildPlugin
,freeradius2-mod-eap-gtc
,rlm_eap_gtc
,))
571 $(eval
$(call BuildPlugin
,freeradius2-mod-eap-md5
,rlm_eap_md5
,))
572 $(eval
$(call BuildPlugin
,freeradius2-mod-eap-mschapv2
,rlm_eap_mschapv2
,))
573 $(eval
$(call BuildPlugin
,freeradius2-mod-eap-peap
,rlm_eap_peap
,))
574 $(eval
$(call BuildPlugin
,freeradius2-mod-eap-tls
,rlm_eap_tls
,))
575 $(eval
$(call BuildPlugin
,freeradius2-mod-eap-ttls
,rlm_eap_ttls
,))
576 $(eval
$(call BuildPlugin
,freeradius2-mod-exec
,rlm_exec
,modules
/exec modules
/echo
,modules
,))
577 $(eval
$(call BuildPlugin
,freeradius2-mod-attr-rewrite
,rlm_attr_rewrite
,modules
/attr_rewrite
,modules
,))
578 $(eval
$(call BuildPlugin
,freeradius2-mod-files
,rlm_files
,acct_users preproxy_users users modules
/files
,modules
,))
579 $(eval
$(call BuildPlugin
,freeradius2-mod-passwd
,rlm_passwd
,modules
/passwd
,modules
,))
580 $(eval
$(call BuildPlugin
,freeradius2-mod-ldap
,rlm_ldap
,ldap.attrmap modules
/ldap
,modules
,))
581 $(eval
$(call BuildPlugin
,freeradius2-mod-mschap
,rlm_mschap
,modules
/mschap
,modules
,))
582 $(eval
$(call BuildPlugin
,freeradius2-mod-pap
,rlm_pap
,modules
/pap
,modules
,))
583 $(eval
$(call BuildPlugin
,freeradius2-mod-preprocess
,rlm_preprocess
,hints huntgroups modules
/preprocess
,modules
,))
584 $(eval
$(call BuildPlugin
,freeradius2-mod-realm
,rlm_realm
,proxy.conf modules
/realm modules
/inner-eap
,modules
,))
585 $(eval
$(call BuildPlugin
,freeradius2-mod-sql
,rlm_sql
,sql.conf
,))
586 $(eval
$(call BuildPlugin
,freeradius2-mod-sql-mysql
,rlm_sql_mysql
,))
587 $(eval
$(call BuildPlugin
,freeradius2-mod-sql-pgsql
,rlm_sql_postgresql
,))
588 $(eval
$(call BuildPlugin
,freeradius2-mod-sql-sqlite
,rlm_sql_sqlite
,))
589 $(eval
$(call BuildPlugin
,freeradius2-mod-sqlcounter
,rlm_sqlcounter
,))
590 $(eval
$(call BuildPlugin
,freeradius2-mod-radutmp
,rlm_radutmp
,modules
/radutmp modules
/sradutmp
,modules
,))
591 $(eval
$(call BuildPlugin
,freeradius2-mod-logintime
,rlm_logintime
,modules
/logintime
,modules
,))
592 $(eval
$(call BuildPlugin
,freeradius2-mod-expr
,rlm_expr
,modules
/expr
,modules
,))
593 $(eval
$(call BuildPlugin
,freeradius2-mod-attr-filter
,rlm_attr_filter
,modules
/attr_filter attrs attrs.access_reject attrs.accounting_response attrs.pre-proxy
,modules
,,))
594 $(eval
$(call BuildPlugin
,freeradius2-mod-expiration
,rlm_expiration
,modules
/expiration
,modules
,))
595 $(eval
$(call BuildPlugin
,freeradius2-mod-always
,rlm_always
,modules
/always
,modules
,))
596 $(eval
$(call BuildPackage
,freeradius2-utils
))