diff options
author | Jackie Huang <jackie.huang@windriver.com> | 2017-05-10 11:09:55 +0800 |
---|---|---|
committer | Joe MacDonald <joe_macdonald@mentor.com> | 2017-06-28 10:23:38 -0400 |
commit | 39e58a887b5f358c04152233bc63f440fc0be502 (patch) | |
tree | d484246f20f4b75561fe6f5af78877aaed47addb /meta-networking/recipes-connectivity | |
parent | 200f0ee67ada0c74df31ce9112a58144db7933d9 (diff) | |
download | meta-openembedded-39e58a887b5f358c04152233bc63f440fc0be502.tar.gz |
freeradius: add new recipe
FreeRADIUS is an Internet authentication daemon,
which implements the RADIUS protocol, as defined
in RFC 2865 (and others).
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
Diffstat (limited to 'meta-networking/recipes-connectivity')
15 files changed, 1314 insertions, 0 deletions
diff --git a/meta-networking/recipes-connectivity/freeradius/files/freeradius b/meta-networking/recipes-connectivity/freeradius/files/freeradius new file mode 100644 index 000000000..fa412e2aa --- /dev/null +++ b/meta-networking/recipes-connectivity/freeradius/files/freeradius | |||
@@ -0,0 +1,110 @@ | |||
1 | #!/bin/sh | ||
2 | # Start/stop the FreeRADIUS daemon. | ||
3 | |||
4 | ### BEGIN INIT INFO | ||
5 | # Provides: freeradius | ||
6 | # Required-Start: $remote_fs $network $syslog | ||
7 | # Should-Start: $time mysql slapd postgresql samba krb5-kdc | ||
8 | # Required-Stop: $remote_fs $syslog | ||
9 | # Default-Start: 2 3 4 5 | ||
10 | # Default-Stop: 0 1 6 | ||
11 | # Short-Description: Radius Daemon | ||
12 | # Description: Extensible, configurable radius daemon | ||
13 | ### END INIT INFO | ||
14 | |||
15 | set -e | ||
16 | |||
17 | # Source function library. | ||
18 | . /etc/init.d/functions | ||
19 | |||
20 | if [ -f /lib/lsb/init-functions ]; then | ||
21 | . /lib/lsb/init-functions | ||
22 | fi | ||
23 | |||
24 | PROG="radiusd" | ||
25 | PROGRAM="/usr/sbin/radiusd" | ||
26 | PIDFILE="/var/run/radiusd/radiusd.pid" | ||
27 | DESCR="FreeRADIUS daemon" | ||
28 | |||
29 | if [ -r /etc/default/$PROG ]; then | ||
30 | . /etc/default/$PROG | ||
31 | fi | ||
32 | |||
33 | test -f $PROGRAM || exit 0 | ||
34 | |||
35 | check_certs() { | ||
36 | if [ ! -f /etc/raddb/certs/server.pem ]; then | ||
37 | echo -n "Creating certificates for freeradius..." | ||
38 | if sudo -u radiusd /etc/raddb/certs/bootstrap 1> /dev/null 2> /dev/null; then | ||
39 | echo "done" | ||
40 | else | ||
41 | echo "failed!" | ||
42 | fi | ||
43 | fi | ||
44 | |||
45 | } | ||
46 | |||
47 | # /var/run may be a tmpfs | ||
48 | if [ ! -d /var/run/radiusd ]; then | ||
49 | mkdir -p /var/run/radiusd | ||
50 | chown radiusd:radiusd /var/run/radiusd | ||
51 | fi | ||
52 | |||
53 | if [ ! -d /var/log/radius ]; then | ||
54 | mkdir -p /var/log/radius | ||
55 | touch /var/log/radius/radius.log | ||
56 | chown radiusd:radiusd /var/run/radius | ||
57 | fi | ||
58 | |||
59 | if [ ! -f ${PIDFILE} ]; then | ||
60 | touch ${PIDFILE} | ||
61 | chown radiusd:radiusd ${PIDFILE} | ||
62 | fi | ||
63 | |||
64 | export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" | ||
65 | |||
66 | ret=0 | ||
67 | |||
68 | case "$1" in | ||
69 | start) | ||
70 | check_certs | ||
71 | echo -n "Starting $DESCR" "$PROG" | ||
72 | start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $PROGRAM -- $FREERADIUS_OPTIONS || ret=$? | ||
73 | [ "$ret" == 0 ] && echo " Success" || echo " Failed" | ||
74 | exit $ret | ||
75 | ;; | ||
76 | stop) | ||
77 | echo -n "Stopping $DESCR" "$PROG" | ||
78 | if [ -f "$PIDFILE" ] ; then | ||
79 | start-stop-daemon --stop --retry=TERM/30/KILL/5 --quiet --pidfile $PIDFILE || ret=$? | ||
80 | else | ||
81 | echo -n "$PIDFILE not found" | ||
82 | ret=1 | ||
83 | fi | ||
84 | [ "$ret" == 0 ] && echo " Success" || echo " Failed" | ||
85 | ;; | ||
86 | status) | ||
87 | status $PROGRAM; | ||
88 | exit $? | ||
89 | ;; | ||
90 | restart) | ||
91 | $0 stop | ||
92 | $0 start | ||
93 | ;; | ||
94 | reload|force-reload) | ||
95 | echo -n "Reloading $DESCR" "$PROG" | ||
96 | if [ -f "$PIDFILE" ] ; then | ||
97 | start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE || ret=$? | ||
98 | else | ||
99 | echo -n "$PIDFILE not found" | ||
100 | ret=1 | ||
101 | fi | ||
102 | [ "$ret" == 0 ] && echo " Success" || echo " Failed" | ||
103 | ;; | ||
104 | *) | ||
105 | echo "Usage: $0 start|stop|status|restart|force-reload|reload" | ||
106 | exit 1 | ||
107 | ;; | ||
108 | esac | ||
109 | |||
110 | exit 0 | ||
diff --git a/meta-networking/recipes-connectivity/freeradius/files/freeradius-avoid-searching-host-dirs.patch b/meta-networking/recipes-connectivity/freeradius/files/freeradius-avoid-searching-host-dirs.patch new file mode 100644 index 000000000..9c997661f --- /dev/null +++ b/meta-networking/recipes-connectivity/freeradius/files/freeradius-avoid-searching-host-dirs.patch | |||
@@ -0,0 +1,197 @@ | |||
1 | From dc41591d5ceb18900ec85894f8f7b7bb44bb3bd9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jackie Huang <jackie.huang@windriver.com> | ||
3 | Date: Mon, 4 Jan 2016 01:44:04 -0500 | ||
4 | Subject: [PATCH] avoid searching host dirs | ||
5 | |||
6 | Don't search the hardcoded host dirs to avoid | ||
7 | host contamination. | ||
8 | |||
9 | Upstream-Status: Inappropriate [cross-compile specific] | ||
10 | |||
11 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
12 | --- | ||
13 | acinclude.m4 | 4 ++-- | ||
14 | src/modules/rlm_sql/drivers/rlm_sql_db2/configure.ac | 4 ++-- | ||
15 | src/modules/rlm_sql/drivers/rlm_sql_firebird/configure.ac | 4 ++-- | ||
16 | src/modules/rlm_sql/drivers/rlm_sql_iodbc/configure.ac | 4 ++-- | ||
17 | src/modules/rlm_sql/drivers/rlm_sql_mysql/configure.ac | 6 +++--- | ||
18 | src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.ac | 2 +- | ||
19 | src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure.ac | 4 ++-- | ||
20 | src/modules/rlm_sql/drivers/rlm_sql_unixodbc/configure.ac | 4 ++-- | ||
21 | 8 files changed, 16 insertions(+), 16 deletions(-) | ||
22 | |||
23 | diff --git a/acinclude.m4 b/acinclude.m4 | ||
24 | index da48acc..b513ae1 100644 | ||
25 | --- a/acinclude.m4 | ||
26 | +++ b/acinclude.m4 | ||
27 | @@ -178,7 +178,7 @@ if test "x$smart_lib" = "x"; then | ||
28 | FR_LOCATE_DIR(smart_lib_dir,[lib$1${libltdl_cv_shlibext}]) | ||
29 | FR_LOCATE_DIR(smart_lib_dir,[lib$1.a]) | ||
30 | |||
31 | - for try in $smart_lib_dir /usr/local/lib /opt/lib; do | ||
32 | + for try in $smart_lib_dir; do | ||
33 | AC_MSG_CHECKING([for $2 in -l$1 in $try]) | ||
34 | LIBS="-l$1 $old_LIBS" | ||
35 | CPPFLAGS="-L$try -Wl,-rpath,$try $old_CPPFLAGS" | ||
36 | @@ -218,7 +218,7 @@ ac_safe=`echo "$1" | sed 'y%./+-%__pm%'` | ||
37 | old_CPPFLAGS="$CPPFLAGS" | ||
38 | smart_include= | ||
39 | dnl # The default directories we search in (in addition to the compilers search path) | ||
40 | -smart_include_dir="/usr/local/include /opt/include" | ||
41 | +smart_include_dir= | ||
42 | |||
43 | dnl # Our local versions | ||
44 | _smart_try_dir= | ||
45 | diff --git a/src/modules/rlm_sql/drivers/rlm_sql_db2/configure.ac b/src/modules/rlm_sql/drivers/rlm_sql_db2/configure.ac | ||
46 | index 75c851a..a262d71 100644 | ||
47 | --- a/src/modules/rlm_sql/drivers/rlm_sql_db2/configure.ac | ||
48 | +++ b/src/modules/rlm_sql/drivers/rlm_sql_db2/configure.ac | ||
49 | @@ -57,14 +57,14 @@ if test x$with_[]modname != xno; then | ||
50 | esac]) | ||
51 | |||
52 | dnl Check for SQLConnect in -ldb2 | ||
53 | - smart_try_dir="$ibmdb2_lib_dir /usr/local/db2/lib /usr/IBMdb2/V7.1/lib" | ||
54 | + smart_try_dir="$ibmdb2_lib_dir" | ||
55 | FR_SMART_CHECK_LIB(db2, SQLConnect) | ||
56 | if test "x$ac_cv_lib_db2_SQLConnect" != xyes; then | ||
57 | fail="$fail libdb2" | ||
58 | fi | ||
59 | |||
60 | dnl Check for sqlcli.h | ||
61 | - smart_try_dir="$ibmdb2_include_dir /usr/local/db2/include /usr/IBMdb2/V7.1/include" | ||
62 | + smart_try_dir="$ibmdb2_include_dir" | ||
63 | FR_SMART_CHECK_INCLUDE(sqlcli.h) | ||
64 | if test "x$ac_cv_header_sqlcli_h" != xyes; then | ||
65 | fail="$fail sqlcli.h" | ||
66 | diff --git a/src/modules/rlm_sql/drivers/rlm_sql_firebird/configure.ac b/src/modules/rlm_sql/drivers/rlm_sql_firebird/configure.ac | ||
67 | index 4da57b3..752b043 100644 | ||
68 | --- a/src/modules/rlm_sql/drivers/rlm_sql_firebird/configure.ac | ||
69 | +++ b/src/modules/rlm_sql/drivers/rlm_sql_firebird/configure.ac | ||
70 | @@ -56,14 +56,14 @@ if test x$with_[]modname != xno; then | ||
71 | esac]) | ||
72 | |||
73 | dnl Check for isc_attach_database in -lfbclient | ||
74 | - smart_try_dir="$firebird_lib_dir /usr/lib/firebird2/lib /usr/local/firebird/lib" | ||
75 | + smart_try_dir="$firebird_lib_dir" | ||
76 | FR_SMART_CHECK_LIB(fbclient, isc_attach_database) | ||
77 | if test "x$ac_cv_lib_fbclient_isc_attach_database" != xyes; then | ||
78 | fail="$fail libfbclient" | ||
79 | fi | ||
80 | |||
81 | dnl Check for ibase.h | ||
82 | - smart_try_dir="$firebird_include_dir /usr/lib/firebird2/include /usr/local/firebird/include" | ||
83 | + smart_try_dir="$firebird_include_dir" | ||
84 | FR_SMART_CHECK_INCLUDE(ibase.h) | ||
85 | if test "x$ac_cv_header_ibase_h" != xyes; then | ||
86 | fail="$fail ibase.h" | ||
87 | diff --git a/src/modules/rlm_sql/drivers/rlm_sql_iodbc/configure.ac b/src/modules/rlm_sql/drivers/rlm_sql_iodbc/configure.ac | ||
88 | index ba6304f..3393557 100644 | ||
89 | --- a/src/modules/rlm_sql/drivers/rlm_sql_iodbc/configure.ac | ||
90 | +++ b/src/modules/rlm_sql/drivers/rlm_sql_iodbc/configure.ac | ||
91 | @@ -57,14 +57,14 @@ if test x$with_[]modname != xno; then | ||
92 | esac]) | ||
93 | |||
94 | dnl Check for SQLConnect in -liodbc | ||
95 | - smart_try_dir="$iodbc_lib_dir /usr/lib /usr/lib/iodbc /usr/local/lib/iodbc /usr/local/iodbc/lib/iodbc" | ||
96 | + smart_try_dir="$iodbc_lib_dir" | ||
97 | FR_SMART_CHECK_LIB(iodbc, SQLConnect) | ||
98 | if test "x$ac_cv_lib_iodbc_SQLConnect" != xyes; then | ||
99 | fail="$fail libiodbc" | ||
100 | fi | ||
101 | |||
102 | dnl Check for isql.h | ||
103 | - smart_try_dir="$iodbc_include_dir /usr/include /usr/include/iodbc /usr/local/iodbc/include" | ||
104 | + smart_try_dir="$iodbc_include_dir" | ||
105 | FR_SMART_CHECK_INCLUDE(isql.h) | ||
106 | if test "x$ac_cv_header_isql_h" != xyes; then | ||
107 | fail="$fail isql.h" | ||
108 | diff --git a/src/modules/rlm_sql/drivers/rlm_sql_mysql/configure.ac b/src/modules/rlm_sql/drivers/rlm_sql_mysql/configure.ac | ||
109 | index 1401677..2e7db44 100644 | ||
110 | --- a/src/modules/rlm_sql/drivers/rlm_sql_mysql/configure.ac | ||
111 | +++ b/src/modules/rlm_sql/drivers/rlm_sql_mysql/configure.ac | ||
112 | @@ -136,7 +136,7 @@ if test x$with_[]modname != xno; then | ||
113 | |||
114 | dnl # Check for libmysqlclient_r | ||
115 | if test "x$have_a_libmysqlclient" != "xyes"; then | ||
116 | - smart_try_dir="$mysql_lib_dir /usr/lib /usr/lib/mysql /usr/local/lib/mysql /usr/local/mysql/lib/mysql" | ||
117 | + smart_try_dir="$mysql_lib_dir" | ||
118 | FR_SMART_CHECK_LIB(mysqlclient_r, mysql_init) | ||
119 | if test "x$ac_cv_lib_mysqlclient_r_mysql_init" = "xyes"; then | ||
120 | have_a_libmysqlclient='yes' | ||
121 | @@ -145,7 +145,7 @@ if test x$with_[]modname != xno; then | ||
122 | |||
123 | dnl # Check for libmysqlclient | ||
124 | if test "x$have_a_libmysqlclient" != "xyes"; then | ||
125 | - smart_try_dir="$mysql_lib_dir /usr/lib /usr/lib/mysql /usr/local/lib/mysql /usr/local/mysql/lib/mysql" | ||
126 | + smart_try_dir="$mysql_lib_dir" | ||
127 | FR_SMART_CHECK_LIB(mysqlclient, mysql_init) | ||
128 | if test "x$ac_cv_lib_mysqlclient_mysql_init" = "xyes"; then | ||
129 | have_a_libmysqlclient='yes' | ||
130 | @@ -189,7 +189,7 @@ if test x$with_[]modname != xno; then | ||
131 | fi | ||
132 | |||
133 | if test "x$have_mysql_h" != "xyes"; then | ||
134 | - smart_try_dir="$mysql_include_dir /usr/local/include /usr/local/mysql/include" | ||
135 | + smart_try_dir="$mysql_include_dir" | ||
136 | FR_SMART_CHECK_INCLUDE(mysql/mysql.h) | ||
137 | if test "x$ac_cv_header_mysql_mysql_h" = "xyes"; then | ||
138 | AC_DEFINE(HAVE_MYSQL_MYSQL_H, [], [Define if you have <mysql/mysql.h>]) | ||
139 | diff --git a/src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.ac b/src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.ac | ||
140 | index 3178462..5cbc8c2 100644 | ||
141 | --- a/src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.ac | ||
142 | +++ b/src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.ac | ||
143 | @@ -63,7 +63,7 @@ if test x$with_[]modname != xno; then | ||
144 | dnl # Check for header files | ||
145 | dnl ############################################################ | ||
146 | |||
147 | - smart_try_dir="$oracle_include_dir /usr/local/instaclient/include" | ||
148 | + smart_try_dir="$oracle_include_dir" | ||
149 | |||
150 | if test "x$ORACLE_HOME" != "x"; then | ||
151 | smart_try_dir="${smart_try_dir} ${ORACLE_HOME}/include" | ||
152 | diff --git a/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure.ac b/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure.ac | ||
153 | index 4f9a890..e1cf811 100644 | ||
154 | --- a/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure.ac | ||
155 | +++ b/src/modules/rlm_sql/drivers/rlm_sql_postgresql/configure.ac | ||
156 | @@ -41,7 +41,7 @@ if test x$with_[]modname != xno; then | ||
157 | esac ] | ||
158 | ) | ||
159 | |||
160 | - smart_try_dir="$rlm_sql_postgresql_include_dir /usr/include/postgresql /usr/local/pgsql/include /usr/include/pgsql" | ||
161 | + smart_try_dir="$rlm_sql_postgresql_include_dir" | ||
162 | FR_SMART_CHECK_INCLUDE(libpq-fe.h) | ||
163 | if test "x$ac_cv_header_libpqmfe_h" != "xyes"; then | ||
164 | fail="$fail libpq-fe.h" | ||
165 | @@ -76,7 +76,7 @@ if test x$with_[]modname != xno; then | ||
166 | ]) | ||
167 | fi | ||
168 | |||
169 | - smart_try_dir="$rlm_sql_postgresql_lib_dir /usr/lib /usr/local/pgsql/lib" | ||
170 | + smart_try_dir="$rlm_sql_postgresql_lib_dir" | ||
171 | FR_SMART_CHECK_LIB(pq, PQconnectdb) | ||
172 | if test "x$ac_cv_lib_pq_PQconnectdb" != "xyes"; then | ||
173 | fail="$fail libpq" | ||
174 | diff --git a/src/modules/rlm_sql/drivers/rlm_sql_unixodbc/configure.ac b/src/modules/rlm_sql/drivers/rlm_sql_unixodbc/configure.ac | ||
175 | index 3545387..c543ed4 100644 | ||
176 | --- a/src/modules/rlm_sql/drivers/rlm_sql_unixodbc/configure.ac | ||
177 | +++ b/src/modules/rlm_sql/drivers/rlm_sql_unixodbc/configure.ac | ||
178 | @@ -57,14 +57,14 @@ if test x$with_[]modname != xno; then | ||
179 | esac]) | ||
180 | |||
181 | dnl Check for SQLConnect in -lodbc | ||
182 | - smart_try_dir="$unixodbc_lib_dir /usr/local/unixodbc/lib" | ||
183 | + smart_try_dir="$unixodbc_lib_dir" | ||
184 | FR_SMART_CHECK_LIB(odbc, SQLConnect) | ||
185 | if test "x$ac_cv_lib_odbc_SQLConnect" != xyes; then | ||
186 | fail="$fail libodbc" | ||
187 | fi | ||
188 | |||
189 | dnl Check for sql.h | ||
190 | - smart_try_dir="$unixodbc_include_dir /usr/local/unixodbc/include" | ||
191 | + smart_try_dir="$unixodbc_include_dir" | ||
192 | FR_SMART_CHECK_INCLUDE(sql.h) | ||
193 | if test "x$ac_cv_header_sql_h" != xyes; then | ||
194 | fail="$fail sql.h" | ||
195 | -- | ||
196 | 1.9.1 | ||
197 | |||
diff --git a/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-add-option-for-libcap.patch b/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-add-option-for-libcap.patch new file mode 100644 index 000000000..71b78090c --- /dev/null +++ b/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-add-option-for-libcap.patch | |||
@@ -0,0 +1,70 @@ | |||
1 | From 74eed61dec8702c89f3e121d577ea9db25c961a4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jackie Huang <jackie.huang@windriver.com> | ||
3 | Date: Mon, 11 Jan 2016 02:52:16 -0500 | ||
4 | Subject: [PATCH] configure.ac: add option for libcap | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
9 | --- | ||
10 | configure.ac | 37 ++++++++++++++++++++++++++++--------- | ||
11 | 1 file changed, 28 insertions(+), 9 deletions(-) | ||
12 | |||
13 | diff --git a/configure.ac b/configure.ac | ||
14 | index 066d3d7..6e4266b 100644 | ||
15 | --- a/configure.ac | ||
16 | +++ b/configure.ac | ||
17 | @@ -948,6 +948,23 @@ fi | ||
18 | dnl Set by FR_SMART_CHECKLIB | ||
19 | LIBS="${old_LIBS}" | ||
20 | |||
21 | +dnl # | ||
22 | +dnl # extra argument: --with-libcap | ||
23 | +dnl # | ||
24 | +WITH_LIBCAP=yes | ||
25 | +AC_ARG_WITH(libcap, | ||
26 | +[ --with-licap use licap for debugger checks. (default=yes)], | ||
27 | +[ case "$withval" in | ||
28 | + no) | ||
29 | + WITH_LIBCAP=no | ||
30 | + ;; | ||
31 | + *) | ||
32 | + WITH_LIBCAP=yes | ||
33 | + ;; | ||
34 | + esac ] | ||
35 | +) | ||
36 | + | ||
37 | + | ||
38 | dnl Check for cap | ||
39 | dnl extra argument: --with-cap-lib-dir=DIR | ||
40 | cap_lib_dir= | ||
41 | @@ -981,15 +998,17 @@ AC_ARG_WITH(cap-include-dir, | ||
42 | ;; | ||
43 | esac]) | ||
44 | |||
45 | -smart_try_dir="$cap_lib_dir" | ||
46 | -FR_SMART_CHECK_LIB(cap, cap_get_proc) | ||
47 | -if test "x$ac_cv_lib_cap_cap_get_proc" != "xyes"; then | ||
48 | - AC_MSG_WARN([cap library not found, debugger checks will not be enabled. Use --with-cap-lib-dir=<path>.]) | ||
49 | -else | ||
50 | - AC_DEFINE(HAVE_LIBCAP, 1, | ||
51 | - [Define to 1 if you have the `cap' library (-lcap).] | ||
52 | - ) | ||
53 | - HAVE_LIBCAP=1 | ||
54 | +if test "x$WITH_LIBCAP" = xyes; then | ||
55 | + smart_try_dir="$cap_lib_dir" | ||
56 | + FR_SMART_CHECK_LIB(cap, cap_get_proc) | ||
57 | + if test "x$ac_cv_lib_cap_cap_get_proc" != "xyes"; then | ||
58 | + AC_MSG_WARN([cap library not found, debugger checks will not be enabled. Use --with-cap-lib-dir=<path>.]) | ||
59 | + else | ||
60 | + AC_DEFINE(HAVE_LIBCAP, 1, | ||
61 | + [Define to 1 if you have the `cap' library (-lcap).] | ||
62 | + ) | ||
63 | + HAVE_LIBCAP=1 | ||
64 | + fi | ||
65 | fi | ||
66 | |||
67 | VL_LIB_READLINE | ||
68 | -- | ||
69 | 1.9.1 | ||
70 | |||
diff --git a/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-allow-cross-compilation.patch b/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-allow-cross-compilation.patch new file mode 100644 index 000000000..30497a602 --- /dev/null +++ b/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-allow-cross-compilation.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | Subject: [PATCH] configure.ac: allow cross-compilation | ||
2 | |||
3 | The checking OpenSSL library and header version consistency will | ||
4 | always fail in cross compiling, skip the check and give a warning | ||
5 | instead for cross compiling. | ||
6 | |||
7 | Upstream-Status: Inappropriate[embedded specific] | ||
8 | |||
9 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
10 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | ||
11 | --- | ||
12 | src/modules/rlm_krb5/configure.ac | 3 ++- | ||
13 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/src/modules/rlm_krb5/configure.ac b/src/modules/rlm_krb5/configure.ac | ||
16 | index eb43534..113a079 100644 | ||
17 | --- a/src/modules/rlm_krb5/configure.ac | ||
18 | +++ b/src/modules/rlm_krb5/configure.ac | ||
19 | @@ -137,7 +137,8 @@ if test x$with_[]modname != xno; then | ||
20 | FR_SMART_CHECK_LIB(krb5, krb5_is_thread_safe) | ||
21 | if test "x$ac_cv_lib_krb5_krb5_is_thread_safe" == xyes; then | ||
22 | AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <krb5.h>]], [[return krb5_is_thread_safe() ? 0 : 1]])], | ||
23 | - [krb5threadsafe="-DKRB5_IS_THREAD_SAFE"], [AC_MSG_WARN([[libkrb5 is not threadsafe]])]) | ||
24 | + [krb5threadsafe="-DKRB5_IS_THREAD_SAFE"], [AC_MSG_WARN([[libkrb5 is not threadsafe]])], | ||
25 | + [AC_MSG_WARN(cross compiling: not checking)]) | ||
26 | fi | ||
27 | else | ||
28 | krb5threadsafe="" | ||
29 | -- | ||
30 | 2.10.2 | ||
31 | |||
diff --git a/meta-networking/recipes-connectivity/freeradius/files/freeradius-enble-user-in-conf.patch b/meta-networking/recipes-connectivity/freeradius/files/freeradius-enble-user-in-conf.patch new file mode 100644 index 000000000..4a62bf1fa --- /dev/null +++ b/meta-networking/recipes-connectivity/freeradius/files/freeradius-enble-user-in-conf.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | Enable and change user and group of freeradius server to radiusd | ||
2 | |||
3 | Upstream-Status: Inappropriate [configuration] | ||
4 | |||
5 | Signed-off-by: Roy.Li <rongqing.li@windriver.com> | ||
6 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
7 | --- | ||
8 | raddb/radiusd.conf.in | 4 ++-- | ||
9 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
10 | |||
11 | diff --git a/raddb/radiusd.conf.in b/raddb/radiusd.conf.in | ||
12 | index c62f4ff..0b4a84e 100644 | ||
13 | --- a/raddb/radiusd.conf.in | ||
14 | +++ b/raddb/radiusd.conf.in | ||
15 | @@ -436,8 +436,8 @@ security { | ||
16 | # member. This can allow for some finer-grained access | ||
17 | # controls. | ||
18 | # | ||
19 | -# user = radius | ||
20 | -# group = radius | ||
21 | + user = radiusd | ||
22 | + group = radiusd | ||
23 | |||
24 | # Core dumps are a bad thing. This should only be set to | ||
25 | # 'yes' if you're debugging a problem with the server. | ||
26 | -- | ||
27 | 1.9.1 | ||
28 | |||
diff --git a/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-error-for-expansion-of-macro.patch b/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-error-for-expansion-of-macro.patch new file mode 100644 index 000000000..af1bff051 --- /dev/null +++ b/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-error-for-expansion-of-macro.patch | |||
@@ -0,0 +1,61 @@ | |||
1 | From 5b6d8b14f2696fcf1dca119212f9d0a0fa04defd Mon Sep 17 00:00:00 2001 | ||
2 | From: Yi Zhao <yi.zhao@windriver.com> | ||
3 | Date: Wed, 18 Jan 2017 14:59:39 +0800 | ||
4 | Subject: [PATCH] fix error for expansion of macro in thread.h | ||
5 | |||
6 | The parameter declaration is missing in expansion of macro | ||
7 | which cause the build error: | ||
8 | | In file included from src/freeradius-devel/libradius.h:80:0, | ||
9 | | from src/lib/log.c:26: | ||
10 | | src/lib/log.c: In function '__fr_thread_local_destroy_fr_strerror_buffer': | ||
11 | | src/lib/log.c:37:31: error: 'fr_strerror_buffer' undeclared (first use in this function) | ||
12 | | fr_thread_local_setup(char *, fr_strerror_buffer) /* macro */ | ||
13 | | ^ | ||
14 | |||
15 | Add the missing declaration in macro. | ||
16 | |||
17 | Upstream-Status: Pending | ||
18 | |||
19 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | ||
20 | --- | ||
21 | src/include/threads.h | 10 +++++----- | ||
22 | 1 file changed, 5 insertions(+), 5 deletions(-) | ||
23 | |||
24 | diff --git a/src/include/threads.h b/src/include/threads.h | ||
25 | index e36d81d..2bcb6aa 100644 | ||
26 | --- a/src/include/threads.h | ||
27 | +++ b/src/include/threads.h | ||
28 | @@ -89,7 +89,7 @@ static _t __fr_thread_local_init_##_n(pthread_destructor_t func)\ | ||
29 | # define fr_thread_local_get(_n) _n | ||
30 | #elif defined(HAVE_PTHREAD_H) | ||
31 | # include <pthread.h> | ||
32 | -# define fr_thread_local_setup(_t, _n) \ | ||
33 | +# define fr_thread_local_setup(_t, _n) static __thread _t _n;\ | ||
34 | static pthread_key_t __fr_thread_local_key_##_n;\ | ||
35 | static pthread_once_t __fr_thread_local_once_##_n = PTHREAD_ONCE_INIT;\ | ||
36 | static pthread_destructor_t __fr_thread_local_destructor_##_n = NULL;\ | ||
37 | @@ -100,17 +100,17 @@ static void __fr_thread_local_destroy_##_n(UNUSED void *unused)\ | ||
38 | static void __fr_thread_local_key_init_##_n(void)\ | ||
39 | {\ | ||
40 | (void) pthread_key_create(&__fr_thread_local_key_##_n, __fr_thread_local_destroy_##_n);\ | ||
41 | - (void) pthread_setspecific(__fr_thread_local_key_##_n, &(_n));\ | ||
42 | }\ | ||
43 | static _t __fr_thread_local_init_##_n(pthread_destructor_t func)\ | ||
44 | {\ | ||
45 | __fr_thread_local_destructor_##_n = func;\ | ||
46 | if (_n) return _n; \ | ||
47 | (void) pthread_once(&__fr_thread_local_once_##_n, __fr_thread_local_key_init_##_n);\ | ||
48 | + (void) pthread_setspecific(__fr_thread_local_key_##_n, &(_n));\ | ||
49 | return _n;\ | ||
50 | } | ||
51 | -# define fr_thread_local_init(_n, _f) __fr_thread_local_init_##_n(_f) | ||
52 | -# define fr_thread_local_set(_n, _v) __fr_thread_local_set_##_n(_v) | ||
53 | -# define fr_thread_local_get(_n) __fr_thread_local_get_##_n() | ||
54 | +# define fr_thread_local_init(_n, _f) __fr_thread_local_init_##_n(_f) | ||
55 | +# define fr_thread_local_set(_n, _v) ((int)!((_n = _v) || 1)) | ||
56 | +# define fr_thread_local_get(_n) _n | ||
57 | #endif | ||
58 | #endif | ||
59 | -- | ||
60 | 2.10.2 | ||
61 | |||
diff --git a/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch b/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch new file mode 100644 index 000000000..d29b2ac39 --- /dev/null +++ b/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch | |||
@@ -0,0 +1,236 @@ | |||
1 | From d8e251ef97869ab2c1c82bd374016f402083997c Mon Sep 17 00:00:00 2001 | ||
2 | From: Jorge Pereira <jpereiran@gmail.com> | ||
3 | Date: Mon, 7 Dec 2015 16:51:07 -0200 | ||
4 | Subject: [PATCH] Fixing issues related to m4 include path | ||
5 | |||
6 | Upstream-Status: Submitted [1] | ||
7 | |||
8 | [1]: https://github.com/FreeRADIUS/freeradius-server/pull/1428 | ||
9 | |||
10 | Submmited by: Jorge Pereira <jpereiran@gmail.com> | ||
11 | --- | ||
12 | src/modules/rlm_example/config.h.in | 39 ++-------------------- | ||
13 | src/modules/rlm_ldap/configure | 2 +- | ||
14 | src/modules/rlm_pam/config.h.in | 3 ++ | ||
15 | src/modules/rlm_perl/config.h.in | 3 ++ | ||
16 | src/modules/rlm_perl/configure.ac | 2 +- | ||
17 | src/modules/rlm_radutmp/config.h.in | 3 ++ | ||
18 | src/modules/rlm_ruby/configure | 1 + | ||
19 | src/modules/rlm_ruby/configure.ac | 9 ++--- | ||
20 | src/modules/rlm_smsotp/config.h.in | 3 ++ | ||
21 | .../rlm_sql/drivers/rlm_sql_mysql/config.h.in | 3 ++ | ||
22 | src/modules/rlm_unix/config.h.in | 6 ++++ | ||
23 | 11 files changed, 32 insertions(+), 42 deletions(-) | ||
24 | |||
25 | diff --git a/src/modules/rlm_example/config.h.in b/src/modules/rlm_example/config.h.in | ||
26 | index 2a81ef5..f80de9c 100644 | ||
27 | --- a/src/modules/rlm_example/config.h.in | ||
28 | +++ b/src/modules/rlm_example/config.h.in | ||
29 | @@ -1,38 +1,5 @@ | ||
30 | /* config.h.in. Generated from configure.ac by autoheader. */ | ||
31 | |||
32 | -/* Define to 1 if you have the <inttypes.h> header file. */ | ||
33 | -#undef HAVE_INTTYPES_H | ||
34 | - | ||
35 | -/* Define to 1 if you have the <memory.h> header file. */ | ||
36 | -#undef HAVE_MEMORY_H | ||
37 | - | ||
38 | -/* Define to 1 if you have the `printf' function. */ | ||
39 | -#undef HAVE_PRINTF | ||
40 | - | ||
41 | -/* Define to 1 if you have the <stdint.h> header file. */ | ||
42 | -#undef HAVE_STDINT_H | ||
43 | - | ||
44 | -/* Define to 1 if you have the <stdio.h> header file. */ | ||
45 | -#undef HAVE_STDIO_H | ||
46 | - | ||
47 | -/* Define to 1 if you have the <stdlib.h> header file. */ | ||
48 | -#undef HAVE_STDLIB_H | ||
49 | - | ||
50 | -/* Define to 1 if you have the <strings.h> header file. */ | ||
51 | -#undef HAVE_STRINGS_H | ||
52 | - | ||
53 | -/* Define to 1 if you have the <string.h> header file. */ | ||
54 | -#undef HAVE_STRING_H | ||
55 | - | ||
56 | -/* Define to 1 if you have the <sys/stat.h> header file. */ | ||
57 | -#undef HAVE_SYS_STAT_H | ||
58 | - | ||
59 | -/* Define to 1 if you have the <sys/types.h> header file. */ | ||
60 | -#undef HAVE_SYS_TYPES_H | ||
61 | - | ||
62 | -/* Define to 1 if you have the <unistd.h> header file. */ | ||
63 | -#undef HAVE_UNISTD_H | ||
64 | - | ||
65 | /* Define to the address where bug reports for this package should be sent. */ | ||
66 | #undef PACKAGE_BUGREPORT | ||
67 | |||
68 | @@ -45,8 +12,8 @@ | ||
69 | /* Define to the one symbol short name of this package. */ | ||
70 | #undef PACKAGE_TARNAME | ||
71 | |||
72 | +/* Define to the home page for this package. */ | ||
73 | +#undef PACKAGE_URL | ||
74 | + | ||
75 | /* Define to the version of this package. */ | ||
76 | #undef PACKAGE_VERSION | ||
77 | - | ||
78 | -/* Define to 1 if you have the ANSI C header files. */ | ||
79 | -#undef STDC_HEADERS | ||
80 | diff --git a/src/modules/rlm_ldap/configure b/src/modules/rlm_ldap/configure | ||
81 | index e0c15d9..cdf96d5 100755 | ||
82 | --- a/src/modules/rlm_ldap/configure | ||
83 | +++ b/src/modules/rlm_ldap/configure | ||
84 | @@ -3992,7 +3992,7 @@ smart_prefix= | ||
85 | $as_echo "#define WITH_SASL 1" >>confdefs.h | ||
86 | |||
87 | SASL=sasl.c | ||
88 | - fi | ||
89 | + fi | ||
90 | fi | ||
91 | |||
92 | targetname=rlm_ldap | ||
93 | diff --git a/src/modules/rlm_pam/config.h.in b/src/modules/rlm_pam/config.h.in | ||
94 | index 32ef6ff..1ad20c5 100644 | ||
95 | --- a/src/modules/rlm_pam/config.h.in | ||
96 | +++ b/src/modules/rlm_pam/config.h.in | ||
97 | @@ -45,6 +45,9 @@ | ||
98 | /* Define to the one symbol short name of this package. */ | ||
99 | #undef PACKAGE_TARNAME | ||
100 | |||
101 | +/* Define to the home page for this package. */ | ||
102 | +#undef PACKAGE_URL | ||
103 | + | ||
104 | /* Define to the version of this package. */ | ||
105 | #undef PACKAGE_VERSION | ||
106 | |||
107 | diff --git a/src/modules/rlm_perl/config.h.in b/src/modules/rlm_perl/config.h.in | ||
108 | index 989ed53..f80de9c 100644 | ||
109 | --- a/src/modules/rlm_perl/config.h.in | ||
110 | +++ b/src/modules/rlm_perl/config.h.in | ||
111 | @@ -12,5 +12,8 @@ | ||
112 | /* Define to the one symbol short name of this package. */ | ||
113 | #undef PACKAGE_TARNAME | ||
114 | |||
115 | +/* Define to the home page for this package. */ | ||
116 | +#undef PACKAGE_URL | ||
117 | + | ||
118 | /* Define to the version of this package. */ | ||
119 | #undef PACKAGE_VERSION | ||
120 | diff --git a/src/modules/rlm_perl/configure.ac b/src/modules/rlm_perl/configure.ac | ||
121 | index 44c5fc9..6b2a043 100644 | ||
122 | --- a/src/modules/rlm_perl/configure.ac | ||
123 | +++ b/src/modules/rlm_perl/configure.ac | ||
124 | @@ -3,7 +3,7 @@ AC_INIT(rlm_perl.c) | ||
125 | AC_REVISION($Revision$) | ||
126 | AC_DEFUN(modname,[rlm_perl]) | ||
127 | |||
128 | -m4_include([ax_with_prog.m4]) | ||
129 | +m4_include([m4/ax_with_prog.m4]) | ||
130 | |||
131 | if test x$with_[]modname != xno; then | ||
132 | AC_PROG_CC | ||
133 | diff --git a/src/modules/rlm_radutmp/config.h.in b/src/modules/rlm_radutmp/config.h.in | ||
134 | index 9a883cc..750b434 100644 | ||
135 | --- a/src/modules/rlm_radutmp/config.h.in | ||
136 | +++ b/src/modules/rlm_radutmp/config.h.in | ||
137 | @@ -42,6 +42,9 @@ | ||
138 | /* Define to the one symbol short name of this package. */ | ||
139 | #undef PACKAGE_TARNAME | ||
140 | |||
141 | +/* Define to the home page for this package. */ | ||
142 | +#undef PACKAGE_URL | ||
143 | + | ||
144 | /* Define to the version of this package. */ | ||
145 | #undef PACKAGE_VERSION | ||
146 | |||
147 | diff --git a/src/modules/rlm_ruby/configure b/src/modules/rlm_ruby/configure | ||
148 | index 15868ab..c728af2 100755 | ||
149 | --- a/src/modules/rlm_ruby/configure | ||
150 | +++ b/src/modules/rlm_ruby/configure | ||
151 | @@ -1875,6 +1875,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
152 | |||
153 | |||
154 | |||
155 | + | ||
156 | # =========================================================================== | ||
157 | # http://www.gnu.org/software/autoconf-archive/ax_compare_version.html | ||
158 | # =========================================================================== | ||
159 | diff --git a/src/modules/rlm_ruby/configure.ac b/src/modules/rlm_ruby/configure.ac | ||
160 | index 9306382..f1c8118 100644 | ||
161 | --- a/src/modules/rlm_ruby/configure.ac | ||
162 | +++ b/src/modules/rlm_ruby/configure.ac | ||
163 | @@ -3,15 +3,16 @@ AC_INIT(rlm_ruby.c) | ||
164 | AC_REVISION($Revision: 1.9 $) | ||
165 | AC_DEFUN(modname,[rlm_ruby]) | ||
166 | |||
167 | -m4_include([ax_with_prog.m4]) | ||
168 | +m4_include([m4/ax_with_prog.m4]) | ||
169 | |||
170 | AC_DEFUN([AX_WITH_RUBY],[ | ||
171 | AX_WITH_PROG([RUBY],[ruby],[not-found],[${PATH}:/usr/bin:/usr/local/bin]) | ||
172 | ]) | ||
173 | |||
174 | -m4_include([ax_compare_version.m4]) | ||
175 | -m4_include([ax_prog_ruby_version.m4]) | ||
176 | -m4_include([ax_ruby_devel.m4]) | ||
177 | + | ||
178 | +m4_include([m4/ax_compare_version.m4]) | ||
179 | +m4_include([m4/ax_prog_ruby_version.m4]) | ||
180 | +m4_include([m4/ax_ruby_devel.m4]) | ||
181 | |||
182 | targetname=modname | ||
183 | mod_cflags= | ||
184 | diff --git a/src/modules/rlm_smsotp/config.h.in b/src/modules/rlm_smsotp/config.h.in | ||
185 | index 5feaf91..9e69f85 100644 | ||
186 | --- a/src/modules/rlm_smsotp/config.h.in | ||
187 | +++ b/src/modules/rlm_smsotp/config.h.in | ||
188 | @@ -42,6 +42,9 @@ | ||
189 | /* Define to the one symbol short name of this package. */ | ||
190 | #undef PACKAGE_TARNAME | ||
191 | |||
192 | +/* Define to the home page for this package. */ | ||
193 | +#undef PACKAGE_URL | ||
194 | + | ||
195 | /* Define to the version of this package. */ | ||
196 | #undef PACKAGE_VERSION | ||
197 | |||
198 | diff --git a/src/modules/rlm_sql/drivers/rlm_sql_mysql/config.h.in b/src/modules/rlm_sql/drivers/rlm_sql_mysql/config.h.in | ||
199 | index e03d1a9..6262c48 100644 | ||
200 | --- a/src/modules/rlm_sql/drivers/rlm_sql_mysql/config.h.in | ||
201 | +++ b/src/modules/rlm_sql/drivers/rlm_sql_mysql/config.h.in | ||
202 | @@ -18,5 +18,8 @@ | ||
203 | /* Define to the one symbol short name of this package. */ | ||
204 | #undef PACKAGE_TARNAME | ||
205 | |||
206 | +/* Define to the home page for this package. */ | ||
207 | +#undef PACKAGE_URL | ||
208 | + | ||
209 | /* Define to the version of this package. */ | ||
210 | #undef PACKAGE_VERSION | ||
211 | diff --git a/src/modules/rlm_unix/config.h.in b/src/modules/rlm_unix/config.h.in | ||
212 | index dcb9aa2..70b4680 100644 | ||
213 | --- a/src/modules/rlm_unix/config.h.in | ||
214 | +++ b/src/modules/rlm_unix/config.h.in | ||
215 | @@ -1,5 +1,8 @@ | ||
216 | /* config.h.in. Generated from configure.ac by autoheader. */ | ||
217 | |||
218 | +/* Define to 1 if you have the `getpwnam' function. */ | ||
219 | +#undef HAVE_GETPWNAM | ||
220 | + | ||
221 | /* Define to 1 if you have the `getspnam' function. */ | ||
222 | #undef HAVE_GETSPNAM | ||
223 | |||
224 | @@ -54,6 +57,9 @@ | ||
225 | /* Define to the one symbol short name of this package. */ | ||
226 | #undef PACKAGE_TARNAME | ||
227 | |||
228 | +/* Define to the home page for this package. */ | ||
229 | +#undef PACKAGE_URL | ||
230 | + | ||
231 | /* Define to the version of this package. */ | ||
232 | #undef PACKAGE_VERSION | ||
233 | |||
234 | -- | ||
235 | 2.3.5 | ||
236 | |||
diff --git a/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-quoting-for-BUILT_WITH.patch b/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-quoting-for-BUILT_WITH.patch new file mode 100644 index 000000000..b0929c4b0 --- /dev/null +++ b/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-quoting-for-BUILT_WITH.patch | |||
@@ -0,0 +1,55 @@ | |||
1 | Fix quoting for BUILD_WITH | ||
2 | |||
3 | The escaped quotes are to make the -D values produce strings which | ||
4 | can be used to display these values. However, if the values are more | ||
5 | than one word, with spaces, they also need shell quoting to make them | ||
6 | into single words. | ||
7 | |||
8 | Upstream-Status: Pending | ||
9 | |||
10 | Signed-off-by: Peter Seebach <peter.seebach@windriver.com> | ||
11 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | ||
12 | --- | ||
13 | src/main/libfreeradius-server.mk | 2 +- | ||
14 | src/main/unittest.mk | 2 +- | ||
15 | src/modules/rlm_eap/radeapclient.mk | 2 +- | ||
16 | 3 files changed, 3 insertions(+), 3 deletions(-) | ||
17 | |||
18 | diff --git a/src/main/libfreeradius-server.mk b/src/main/libfreeradius-server.mk | ||
19 | index 4495f72..07c28f1 100644 | ||
20 | --- a/src/main/libfreeradius-server.mk | ||
21 | +++ b/src/main/libfreeradius-server.mk | ||
22 | @@ -18,5 +18,5 @@ SOURCES := conffile.c \ | ||
23 | TGT_LDLIBS := $(OPENSSL_LIBS) | ||
24 | |||
25 | ifneq ($(MAKECMDGOALS),scan) | ||
26 | -SRC_CFLAGS += -DBUILT_WITH_CPPFLAGS=\"$(CPPFLAGS)\" -DBUILT_WITH_CFLAGS=\"$(CFLAGS)\" -DBUILT_WITH_LDFLAGS=\"$(LDFLAGS)\" -DBUILT_WITH_LIBS=\"$(LIBS)\" | ||
27 | +SRC_CFLAGS += -DBUILT_WITH_CPPFLAGS="\"$(CPPFLAGS)\"" -DBUILT_WITH_CFLAGS="\"$(CFLAGS)\"" -DBUILT_WITH_LDFLAGS="\"$(LDFLAGS)\"" -DBUILT_WITH_LIBS="\"$(LIBS)\"" | ||
28 | endif | ||
29 | diff --git a/src/main/unittest.mk b/src/main/unittest.mk | ||
30 | index 09f3938..ed33952 100644 | ||
31 | --- a/src/main/unittest.mk | ||
32 | +++ b/src/main/unittest.mk | ||
33 | @@ -21,5 +21,5 @@ TGT_PREREQS += libfreeradius-eap.a | ||
34 | endif | ||
35 | |||
36 | ifneq ($(MAKECMDGOALS),scan) | ||
37 | -SRC_CFLAGS += -DBUILT_WITH_CPPFLAGS=\"$(CPPFLAGS)\" -DBUILT_WITH_CFLAGS=\"$(CFLAGS)\" -DBUILT_WITH_LDFLAGS=\"$(LDFLAGS)\" -DBUILT_WITH_LIBS=\"$(LIBS)\" | ||
38 | +SRC_CFLAGS += -DBUILT_WITH_CPPFLAGS="\"$(CPPFLAGS)\"" -DBUILT_WITH_CFLAGS="\"$(CFLAGS)\"" -DBUILT_WITH_LDFLAGS="\"$(LDFLAGS)\"" -DBUILT_WITH_LIBS="\"$(LIBS)\"" | ||
39 | endif | ||
40 | diff --git a/src/modules/rlm_eap/radeapclient.mk b/src/modules/rlm_eap/radeapclient.mk | ||
41 | index 6068f54..7d3c556 100644 | ||
42 | --- a/src/modules/rlm_eap/radeapclient.mk | ||
43 | +++ b/src/modules/rlm_eap/radeapclient.mk | ||
44 | @@ -23,7 +23,7 @@ SRC_CFLAGS += -DWITH_EAPCLIENT | ||
45 | SRC_INCDIRS := ${top_srcdir}/src/modules/rlm_eap/libeap | ||
46 | |||
47 | ifneq ($(MAKECMDGOALS),scan) | ||
48 | -SRC_CFLAGS += -DBUILT_WITH_CPPFLAGS=\"$(CPPFLAGS)\" -DBUILT_WITH_CFLAGS=\"$(CFLAGS)\" -DBUILT_WITH_LDFLAGS=\"$(LDFLAGS)\" -DBUILT_WITH_LIBS=\"$(LIBS)\" | ||
49 | +SRC_CFLAGS += -DBUILT_WITH_CPPFLAGS="\"$(CPPFLAGS)\"" -DBUILT_WITH_CFLAGS="\"$(CFLAGS)\"" -DBUILT_WITH_LDFLAGS="\"$(LDFLAGS)\"" -DBUILT_WITH_LIBS="\"$(LIBS)\"" | ||
50 | endif | ||
51 | |||
52 | endif | ||
53 | -- | ||
54 | 2.10.2 | ||
55 | |||
diff --git a/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-detection.patch b/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-detection.patch new file mode 100644 index 000000000..4eb61ff2e --- /dev/null +++ b/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-detection.patch | |||
@@ -0,0 +1,89 @@ | |||
1 | From 56ef434e454bcc82c162a83d9bcb076d4fc72b7f Mon Sep 17 00:00:00 2001 | ||
2 | From: Jackie Huang <jackie.huang@windriver.com> | ||
3 | Date: Thu, 9 Jan 2014 14:30:26 +0800 | ||
4 | Subject: [PATCH] Fix libtool detection | ||
5 | |||
6 | Upstream-Status: pending | ||
7 | |||
8 | Use LT_INIT instead of the deprecated AC_PROG_LIBTOOL to detect libtool, so it | ||
9 | can work with our libtoolize and libtool. | ||
10 | |||
11 | Simplify the detection of ltdl. It will find the ltdl from the sysroot; the | ||
12 | switch --with-system-libltdl is no longer needed. The code is copied from | ||
13 | pulseaudio configure.ac, together with the comment paragraph. | ||
14 | |||
15 | Also patch autogen.sh so it uses autoreconf, which handles libtoolize better. | ||
16 | |||
17 | Signed-off-by: Jesse Zhang <sen.zhang@windriver.com> | ||
18 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
19 | --- | ||
20 | autogen.sh | 5 +---- | ||
21 | configure.ac | 36 ++++++++++++++++++++++++++++++++++++ | ||
22 | 2 files changed, 37 insertions(+), 4 deletions(-) | ||
23 | |||
24 | diff --git a/autogen.sh b/autogen.sh | ||
25 | index 3418673..e42c3d5 100755 | ||
26 | --- a/autogen.sh | ||
27 | +++ b/autogen.sh | ||
28 | @@ -5,10 +5,7 @@ parentdir=`dirname $0` | ||
29 | cd $parentdir | ||
30 | parentdir=`pwd` | ||
31 | |||
32 | -libtoolize -f -c | ||
33 | -#aclocal | ||
34 | -autoheader | ||
35 | -autoconf | ||
36 | +autoreconf -Wcross --verbose --install --force | ||
37 | |||
38 | mysubdirs="$mysubdirs `find src/modules/ -name configure -print | sed 's%/configure%%'`" | ||
39 | mysubdirs=`echo $mysubdirs` | ||
40 | diff --git a/configure.ac b/configure.ac | ||
41 | index e73e4ad..066d3d7 100644 | ||
42 | --- a/configure.ac | ||
43 | +++ b/configure.ac | ||
44 | @@ -205,6 +205,42 @@ dnl # See if we have Git. | ||
45 | dnl # | ||
46 | AC_CHECK_PROG(GIT, git, yes, no) | ||
47 | |||
48 | +#### libtool stuff #### | ||
49 | + | ||
50 | +dnl set this shit so it doesn't force CFLAGS... | ||
51 | +LTCFLAGS=" " | ||
52 | + | ||
53 | +LT_PREREQ(2.2) | ||
54 | +LT_INIT([dlopen disable-static]) | ||
55 | + | ||
56 | +dnl Unfortunately, even up to libtool 2.2.6a there is no way to know | ||
57 | +dnl exactly which version of libltdl is present in the system, so we | ||
58 | +dnl just assume that it's a working version as long as we have the | ||
59 | +dnl library and the header files. | ||
60 | +dnl | ||
61 | +dnl As an extra safety device, check for lt_dladvise_init() which is | ||
62 | +dnl only implemented in libtool 2.x, and refine as we go if we have | ||
63 | +dnl refined requirements. | ||
64 | +dnl | ||
65 | +dnl Check the header files first since the system may have a | ||
66 | +dnl libltdl.so for runtime, but no headers, and we want to bail out as | ||
67 | +dnl soon as possible. | ||
68 | +dnl | ||
69 | +dnl We don't need any special variable for this though, since the user | ||
70 | +dnl can give the proper place to find libltdl through the standard | ||
71 | +dnl variables like LDFLAGS and CPPFLAGS. | ||
72 | + | ||
73 | +AC_CHECK_HEADER([ltdl.h], | ||
74 | + [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])], | ||
75 | + [LIBLTDL=]) | ||
76 | + | ||
77 | +AS_IF([test "x$LIBLTDL" = "x"], | ||
78 | + [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])]) | ||
79 | +AC_SUBST([LIBLTDL]) | ||
80 | +LTDL_SUBDIRS= | ||
81 | +INCLTDL=-DWITH_SYSTEM_LTDL | ||
82 | +AC_SUBST(LTDL_SUBDIRS) | ||
83 | + | ||
84 | dnl Put this in later, when all distributed modules use autoconf. | ||
85 | dnl AC_ARG_WITH(disablemodulefoo, | ||
86 | dnl [ --without-rlm_foo Disables module compilation. Module list:] | ||
87 | -- | ||
88 | 1.8.3 | ||
89 | |||
diff --git a/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-do-not-use-jlibtool.patch b/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-do-not-use-jlibtool.patch new file mode 100644 index 000000000..1954586b2 --- /dev/null +++ b/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-do-not-use-jlibtool.patch | |||
@@ -0,0 +1,160 @@ | |||
1 | From 16bf899447fc1524ffc3c79e1d35380e5285a552 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jackie Huang <jackie.huang@windriver.com> | ||
3 | Date: Thu, 7 Jan 2016 22:37:30 -0800 | ||
4 | Subject: [PATCH] libtool: do not use jlibtool | ||
5 | |||
6 | jlibtool is hardcoded to be used but we need to use | ||
7 | our libtool, so fix the makfiles to make it compatible | ||
8 | with our libtool. | ||
9 | |||
10 | Upstream-Status: Inappropriate [oe specific] | ||
11 | |||
12 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
13 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | ||
14 | --- | ||
15 | Make.inc.in | 4 ++-- | ||
16 | scripts/boiler.mk | 2 ++ | ||
17 | scripts/install.mk | 14 +++++++------- | ||
18 | scripts/libtool.mk | 22 ++++++++++++++++------ | ||
19 | 4 files changed, 27 insertions(+), 15 deletions(-) | ||
20 | |||
21 | diff --git a/Make.inc.in b/Make.inc.in | ||
22 | index 7a77625..fd8aa3e 100644 | ||
23 | --- a/Make.inc.in | ||
24 | +++ b/Make.inc.in | ||
25 | @@ -57,7 +57,7 @@ CPPFLAGS = @CPPFLAGS@ | ||
26 | LIBPREFIX = @LIBPREFIX@ | ||
27 | EXEEXT = @EXEEXT@ | ||
28 | |||
29 | -LIBTOOL = JLIBTOOL | ||
30 | +LIBTOOL = @LIBTOOL@ | ||
31 | ACLOCAL = @ACLOCAL@ | ||
32 | AUTOCONF = @AUTOCONF@ | ||
33 | AUTOHEADER = @AUTOHEADER@ | ||
34 | @@ -163,7 +163,7 @@ ANALYZE.c := @clang_path@ | ||
35 | # | ||
36 | ifeq "$(USE_SHARED_LIBS)" "yes" | ||
37 | TESTBINDIR = ./$(BUILD_DIR)/bin/local | ||
38 | - TESTBIN = FR_LIBRARY_PATH=./build/lib/.libs $(JLIBTOOL) --quiet --mode=execute $(TESTBINDIR) | ||
39 | + TESTBIN = FR_LIBRARY_PATH=./build/lib/.libs $(LIBTOOL) --quiet --mode=execute $(TESTBINDIR) | ||
40 | else | ||
41 | TESTBINDIR = ./$(BUILD_DIR)/bin | ||
42 | TESTBIN = ./$(BUILD_DIR)/bin | ||
43 | diff --git a/scripts/boiler.mk b/scripts/boiler.mk | ||
44 | index bccec5e..926a13e 100644 | ||
45 | --- a/scripts/boiler.mk | ||
46 | +++ b/scripts/boiler.mk | ||
47 | @@ -266,6 +266,7 @@ define COMPILE_C_CMDS | ||
48 | $(Q)$(ECHO) CC $< | ||
49 | $(Q)$(strip ${COMPILE.c} -o $@ -c -MD ${CPPFLAGS} ${CFLAGS} ${SRC_CFLAGS} ${INCDIRS} \ | ||
50 | $(addprefix -I, ${SRC_INCDIRS}) ${SRC_DEFS} ${DEFS} $<) | ||
51 | + ${Q}mv $(dir $@)/.libs/$(notdir $*.d) ${BUILD_DIR}/objs/$*.d | ||
52 | endef | ||
53 | else | ||
54 | # | ||
55 | @@ -281,6 +282,7 @@ define COMPILE_C_CMDS | ||
56 | $(Q)cppcheck --enable=style -q ${CHECKFLAGS} $(filter -isystem%,${SRC_CFLAGS}) \ | ||
57 | $(filter -I%,${SRC_CFLAGS}) $(filter -D%,${SRC_CFLAGS}) ${INCDIRS} \ | ||
58 | $(addprefix -I,${SRC_INCDIRS}) ${SRC_DEFS} ${DEFS} --suppress=variableScope --suppress=invalidscanf $< | ||
59 | + ${Q}mv $(dir $@)/.libs/$(notdir $*.d) ${BUILD_DIR}/objs/$*.d | ||
60 | endef | ||
61 | endif | ||
62 | |||
63 | diff --git a/scripts/install.mk b/scripts/install.mk | ||
64 | index 9164115..e38c1ed 100644 | ||
65 | --- a/scripts/install.mk | ||
66 | +++ b/scripts/install.mk | ||
67 | @@ -46,7 +46,7 @@ define ADD_INSTALL_RULE.exe | ||
68 | install: $${${1}_INSTALLDIR}/$(notdir ${1}) | ||
69 | |||
70 | # Install executable ${1} | ||
71 | - $${${1}_INSTALLDIR}/$(notdir ${1}): ${JLIBTOOL} $${${1}_BUILD}/${1} | $${${1}_INSTALLDIR} | ||
72 | + $${${1}_INSTALLDIR}/$(notdir ${1}): ${LIBTOOL} $${${1}_BUILD}/${1} | $${${1}_INSTALLDIR} | ||
73 | @$(ECHO) INSTALL ${1} | ||
74 | $(Q)$${PROGRAM_INSTALL} -c -m 755 $${BUILD_DIR}/bin/${1} $${${1}_INSTALLDIR}/ | ||
75 | $(Q)$${${1}_POSTINSTALL} | ||
76 | @@ -65,7 +65,7 @@ define ADD_INSTALL_RULE.a | ||
77 | install: $${${1}_INSTALLDIR}/$(notdir ${1}) | ||
78 | |||
79 | # Install static library ${1} | ||
80 | - $${${1}_INSTALLDIR}/$(notdir ${1}): ${JLIBTOOL} ${1} | $${${1}_INSTALLDIR} | ||
81 | + $${${1}_INSTALLDIR}/$(notdir ${1}): ${LIBTOOL} ${1} | $${${1}_INSTALLDIR} | ||
82 | @$(ECHO) INSTALL ${1} | ||
83 | $(Q)$${PROGRAM_INSTALL} -c -m 755 $${BUILD_DIR}/lib/${1} $${${1}_INSTALLDIR}/ | ||
84 | $(Q)$${${1}_POSTINSTALL} | ||
85 | @@ -87,9 +87,9 @@ define ADD_INSTALL_RULE.la | ||
86 | install: $${${1}_INSTALLDIR}/$(notdir ${1}) | ||
87 | |||
88 | # Install libtool library ${1} | ||
89 | - $${${1}_INSTALLDIR}/$(notdir ${1}): ${JLIBTOOL} $${${1}_BUILD}/${1} | $${${1}_INSTALLDIR} | ||
90 | + $${${1}_INSTALLDIR}/$(notdir ${1}): ${LIBTOOL} $${${1}_BUILD}/${1} | $${${1}_INSTALLDIR} | ||
91 | @$(ECHO) INSTALL ${1} | ||
92 | - $(Q)$${PROGRAM_INSTALL} -c -m 755 $${LOCAL_FLAGS_MIN} $${BUILD_DIR}/lib/${1} $${${1}_INSTALLDIR}/ | ||
93 | + $(Q)$${PROGRAM_INSTALL} -c -m 755 $${BUILD_DIR}/lib/${1} $${${1}_INSTALLDIR}/ | ||
94 | $(Q)$${${1}_POSTINSTALL} | ||
95 | |||
96 | endef | ||
97 | @@ -107,7 +107,7 @@ define ADD_INSTALL_RULE.man | ||
98 | install: ${2}/$(notdir ${1}) | ||
99 | |||
100 | # Install manual page ${1} | ||
101 | - ${2}/$(notdir ${1}): ${JLIBTOOL} ${1} | ${2} | ||
102 | + ${2}/$(notdir ${1}): ${LIBTOOL} ${1} | ${2} | ||
103 | @$(ECHO) INSTALL $(notdir ${1}) | ||
104 | $(Q)$${PROGRAM_INSTALL} -c -m 644 ${1} ${2}/ | ||
105 | |||
106 | @@ -122,9 +122,9 @@ endef | ||
107 | define ADD_INSTALL_RULE.dir | ||
108 | # Install directory | ||
109 | .PHONY: ${1} | ||
110 | - ${1}: ${JLIBTOOL} | ||
111 | + ${1}: ${LIBTOOL} | ||
112 | @$(ECHO) INSTALL -d -m 755 ${1} | ||
113 | - $(Q)$${PROGRAM_INSTALL} -d -m 755 ${1} | ||
114 | + $(Q)$${INSTALL} -d -m 755 ${1} | ||
115 | endef | ||
116 | |||
117 | |||
118 | diff --git a/scripts/libtool.mk b/scripts/libtool.mk | ||
119 | index 57915e1..2cb2f7d 100644 | ||
120 | --- a/scripts/libtool.mk | ||
121 | +++ b/scripts/libtool.mk | ||
122 | @@ -55,7 +55,9 @@ ifeq "${LIBTOOL}" "JLIBTOOL" | ||
123 | # Tell GNU Make to use this value, rather than anything specified | ||
124 | # on the command line. | ||
125 | override LIBTOOL := ${JLIBTOOL} | ||
126 | -endif # else we're not using jlibtool | ||
127 | +else # else we're not using jlibtool | ||
128 | + all install: ${LIBTOOL} | ||
129 | +endif | ||
130 | |||
131 | # When using libtool, it produces a '.libs' directory. Ensure that it | ||
132 | # is removed on "make clean", too. | ||
133 | @@ -69,11 +71,19 @@ clean: .libs_clean | ||
134 | # Re-define compilers and linkers | ||
135 | # | ||
136 | OBJ_EXT = lo | ||
137 | -COMPILE.c = ${LIBTOOL} --silent --mode=compile ${CC} | ||
138 | -COMPILE.cxx = ${LIBTOOL} --mode=compile ${CXX} | ||
139 | -LINK.c = ${LIBTOOL} --silent --mode=link ${CC} | ||
140 | -LINK.cxx = ${LIBTOOL} --mode=link ${CXX} | ||
141 | -PROGRAM_INSTALL = ${LIBTOOL} --silent --mode=install ${INSTALL} | ||
142 | +ifeq "${LIBTOOL}" "JLIBTOOL" | ||
143 | + COMPILE.c = ${LIBTOOL} --silent --mode=compile ${CC} | ||
144 | + COMPILE.cxx = ${LIBTOOL} --mode=compile ${CXX} | ||
145 | + LINK.c = ${LIBTOOL} --silent --mode=link ${CC} | ||
146 | + LINK.cxx = ${LIBTOOL} --mode=link ${CXX} | ||
147 | + PROGRAM_INSTALL = ${LIBTOOL} --silent --mode=install ${INSTALL} | ||
148 | +else | ||
149 | + COMPILE.c = ${LIBTOOL} --mode=compile --tag=CC ${CC} | ||
150 | + COMPILE.cxx = ${LIBTOOL} --mode=compile --tag=CC ${CXX} | ||
151 | + LINK.c = ${LIBTOOL} --mode=link --tag=CC ${CC} -module -export-dynamic | ||
152 | + LINK.cxx = ${LIBTOOL} --mode=link --tag=CC ${CXX} -module -export-dynamic | ||
153 | + PROGRAM_INSTALL = ${LIBTOOL} --mode=install ${INSTALL} | ||
154 | +endif | ||
155 | |||
156 | |||
157 | # LIBTOOL_ENDINGS - Given a library ending in ".a" or ".so", replace that | ||
158 | -- | ||
159 | 2.10.2 | ||
160 | |||
diff --git a/meta-networking/recipes-connectivity/freeradius/files/freeradius-rlm_python-add-PY_INC_DIR.patch b/meta-networking/recipes-connectivity/freeradius/files/freeradius-rlm_python-add-PY_INC_DIR.patch new file mode 100644 index 000000000..675940dd6 --- /dev/null +++ b/meta-networking/recipes-connectivity/freeradius/files/freeradius-rlm_python-add-PY_INC_DIR.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | From a0bf65e04d2bbd3271cab94bd5ac93f8e877bfc5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jackie Huang <jackie.huang@windriver.com> | ||
3 | Date: Wed, 27 Jan 2016 05:07:19 -0500 | ||
4 | Subject: [PATCH] rlm_python: add PY_INC_DIR in search dir | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | configure option --with-rlm-python-include-dir is used to set | ||
9 | PY_INC_DIR which is never used and it fails to find Python.h, | ||
10 | so add it into search dir to fix it. | ||
11 | |||
12 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
13 | Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | ||
14 | --- | ||
15 | src/modules/rlm_python/configure.ac | 2 +- | ||
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
17 | |||
18 | diff --git a/src/modules/rlm_python/configure.ac b/src/modules/rlm_python/configure.ac | ||
19 | index 831a33a..c3792d8 100644 | ||
20 | --- a/src/modules/rlm_python/configure.ac | ||
21 | +++ b/src/modules/rlm_python/configure.ac | ||
22 | @@ -93,7 +93,7 @@ if test x$with_[]modname != xno; then | ||
23 | |||
24 | old_CFLAGS=$CFLAGS | ||
25 | CFLAGS="$CFLAGS $PY_CFLAGS" | ||
26 | - smart_try_dir="$PY_PREFIX/include/python$PY_SYS_VERSION" | ||
27 | + smart_try_dir="$PY_PREFIX/include/python$PY_SYS_VERSION $PY_INC_DIR" | ||
28 | FR_SMART_CHECK_INCLUDE(Python.h) | ||
29 | CFLAGS=$old_CFLAGS | ||
30 | |||
31 | -- | ||
32 | 2.10.2 | ||
33 | |||
diff --git a/meta-networking/recipes-connectivity/freeradius/files/radiusd-volatiles.conf b/meta-networking/recipes-connectivity/freeradius/files/radiusd-volatiles.conf new file mode 100644 index 000000000..fa6296297 --- /dev/null +++ b/meta-networking/recipes-connectivity/freeradius/files/radiusd-volatiles.conf | |||
@@ -0,0 +1,2 @@ | |||
1 | d /var/log/radius 0755 radiusd radiusd - | ||
2 | d /var/run/radiusd 0755 radiusd radiusd - | ||
diff --git a/meta-networking/recipes-connectivity/freeradius/files/radiusd.service b/meta-networking/recipes-connectivity/freeradius/files/radiusd.service new file mode 100644 index 000000000..899c4e495 --- /dev/null +++ b/meta-networking/recipes-connectivity/freeradius/files/radiusd.service | |||
@@ -0,0 +1,16 @@ | |||
1 | [Unit] | ||
2 | Description=FreeRADIUS high performance RADIUS server. | ||
3 | After=syslog.target network.target | ||
4 | |||
5 | [Service] | ||
6 | Type=forking | ||
7 | PIDFile=@STATEDIR@/run/radiusd/radiusd.pid | ||
8 | ExecStartPre=-@BASE_BINDIR@/chown -R radiusd.radiusd @STATEDIR@/run/radiusd | ||
9 | ExecStartPre=-@BASE_BINDIR@/sh -c "if [ ! -f @SYSCONFDIR@/raddb/certs/server.pem ]; then sudo -u radiusd @SYSCONFDIR@/raddb/certs/bootstrap; fi" | ||
10 | ExecStartPre=@SBINDIR@/radiusd -C | ||
11 | ExecStart=@SBINDIR@/radiusd -d @SYSCONFDIR@/raddb | ||
12 | ExecReload=@SBINDIR@/radiusd -C | ||
13 | ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID | ||
14 | |||
15 | [Install] | ||
16 | WantedBy=multi-user.target | ||
diff --git a/meta-networking/recipes-connectivity/freeradius/files/volatiles.58_radiusd b/meta-networking/recipes-connectivity/freeradius/files/volatiles.58_radiusd new file mode 100644 index 000000000..8cbdae8a6 --- /dev/null +++ b/meta-networking/recipes-connectivity/freeradius/files/volatiles.58_radiusd | |||
@@ -0,0 +1,3 @@ | |||
1 | # <type> <owner> <group> <mode> <path> <linksource> | ||
2 | d radiusd radiusd 0755 /var/run/radiusd none | ||
3 | d radiusd radiusd 0755 /var/log/radius none | ||
diff --git a/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.13.bb b/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.13.bb new file mode 100644 index 000000000..0d39c15f5 --- /dev/null +++ b/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.13.bb | |||
@@ -0,0 +1,223 @@ | |||
1 | DESCRIPTION = "FreeRADIUS is an Internet authentication daemon, which implements the RADIUS \ | ||
2 | protocol, as defined in RFC 2865 (and others). It allows Network Access \ | ||
3 | Servers (NAS boxes) to perform authentication for dial-up users. There are \ | ||
4 | also RADIUS clients available for Web servers, firewalls, Unix logins, and \ | ||
5 | more. Using RADIUS allows authentication and authorization for a network to \ | ||
6 | be centralized, and minimizes the amount of re-configuration which has to be \ | ||
7 | done when adding or deleting new users." | ||
8 | |||
9 | SUMMARY = "High-performance and highly configurable RADIUS server" | ||
10 | HOMEPAGE = "http://www.freeradius.org/" | ||
11 | SECTION = "System/Servers" | ||
12 | LICENSE = "GPLv2 & LGPLv2+" | ||
13 | DEPENDS = "openssl-native openssl libtool libpcap libtalloc" | ||
14 | |||
15 | SRC_URI = "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${PV}.tar.bz2 \ | ||
16 | file://freeradius \ | ||
17 | file://volatiles.58_radiusd \ | ||
18 | file://freeradius-enble-user-in-conf.patch \ | ||
19 | file://freeradius-configure.ac-allow-cross-compilation.patch \ | ||
20 | file://freeradius-fix-issues-related-to-m4-include-path.patch \ | ||
21 | file://freeradius-libtool-detection.patch \ | ||
22 | file://freeradius-configure.ac-add-option-for-libcap.patch \ | ||
23 | file://freeradius-avoid-searching-host-dirs.patch \ | ||
24 | file://freeradius-rlm_python-add-PY_INC_DIR.patch \ | ||
25 | file://freeradius-libtool-do-not-use-jlibtool.patch \ | ||
26 | file://freeradius-fix-quoting-for-BUILT_WITH.patch \ | ||
27 | file://freeradius-fix-error-for-expansion-of-macro.patch \ | ||
28 | file://radiusd.service \ | ||
29 | file://radiusd-volatiles.conf \ | ||
30 | " | ||
31 | |||
32 | LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a" | ||
33 | SRC_URI[md5sum] = "7f99df26a6ac71b1f7cce5c213e52790" | ||
34 | SRC_URI[sha256sum] = "b3be0d8849878c31af0a5375d20b7b20c9d1c1572e89dc3f22992824cefffb84" | ||
35 | |||
36 | PARALLEL_MAKE = "" | ||
37 | |||
38 | S = "${WORKDIR}/freeradius-server-${PV}" | ||
39 | |||
40 | EXTRA_OECONF = " --enable-strict-dependencies \ | ||
41 | --with-docdir=${docdir}/freeradius-${PV} \ | ||
42 | --with-openssl-includes=${STAGING_INCDIR} \ | ||
43 | --with-openssl-libraries=${STAGING_LIBDIR} \ | ||
44 | --without-rlm_ippool \ | ||
45 | --without-rlm_cache_memcached \ | ||
46 | --without-rlm_counter \ | ||
47 | --without-rlm_couchbase \ | ||
48 | --without-rlm_dbm \ | ||
49 | --without-rlm_eap_tnc \ | ||
50 | --without-rlm_eap_ikev2 \ | ||
51 | --without-rlm_opendirectory \ | ||
52 | --without-rlm_redis \ | ||
53 | --without-rlm_rediswho \ | ||
54 | --without-rlm_sql_db2 \ | ||
55 | --without-rlm_sql_firebird \ | ||
56 | --without-rlm_sql_freetds \ | ||
57 | --without-rlm_sql_iodbc \ | ||
58 | --without-rlm_sql_oracle \ | ||
59 | --without-rlm_sql_sybase \ | ||
60 | --without-rlm_sqlhpwippool \ | ||
61 | --without-dhcp \ | ||
62 | ac_cv_path_PERL=${bindir}/perl \ | ||
63 | ax_cv_cc_builtin_choose_expr=no \ | ||
64 | ax_cv_cc_builtin_types_compatible_p=no \ | ||
65 | ax_cv_cc_builtin_bswap64=no \ | ||
66 | ax_cv_cc_bounded_attribute=no \ | ||
67 | " | ||
68 | |||
69 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ | ||
70 | pcre libcap \ | ||
71 | " | ||
72 | |||
73 | PACKAGECONFIG[krb5] = "--with-rlm_krb5,--without-rlm_krb5,krb5" | ||
74 | PACKAGECONFIG[pam] = "--with-rlm_pam,--without-rlm_pam,libpam" | ||
75 | PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap" | ||
76 | PACKAGECONFIG[ldap] = "--with-rlm_ldap,--without-rlm_ldap,openldap" | ||
77 | PACKAGECONFIG[mysql] = "--with-rlm_sql_mysql,--without-rlm_sql_mysql,mysql5" | ||
78 | PACKAGECONFIG[sqlite] = "--with-rlm_sql_sqlite,--without-rlm_sql_sqlite,sqlite3" | ||
79 | PACKAGECONFIG[unixodbc] = "--with-rlm_sql_unixodbc,--without-rlm_sql_unixodbc,unixodbc" | ||
80 | PACKAGECONFIG[postgresql] = "--with-rlm_sql_postgresql,--without-rlm_sql_postgresql,postgresql" | ||
81 | PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre" | ||
82 | PACKAGECONFIG[perl] = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl --with-rlm_perl,--without-rlm_perl,perl-native perl,perl" | ||
83 | PACKAGECONFIG[python] = "--with-rlm_python --with-rlm-python-bin=${STAGING_BINDIR_NATIVE}/python-native/python --with-rlm-python-include-dir=${STAGING_INCDIR}/${PYTHON_DIR},--without-rlm_python,python-native python" | ||
84 | PACKAGECONFIG[rest] = "--with-rlm_rest,--without-rlm_rest,curl json-c" | ||
85 | PACKAGECONFIG[ruby] = "--with-rlm_ruby,--without-rlm_ruby,ruby" | ||
86 | |||
87 | inherit useradd autotools-brokensep update-rc.d systemd | ||
88 | |||
89 | # This is not a cpan or python based package, but it needs some definitions | ||
90 | # from cpan-base and python-dir bbclasses for building rlm_perl and rlm_python | ||
91 | # correctly. | ||
92 | inherit cpan-base python-dir | ||
93 | |||
94 | # The modules subdirs also need to be processed by autoreconf. Use autogen.sh | ||
95 | # in order to handle the subdirs correctly. | ||
96 | do_configure () { | ||
97 | ./autogen.sh | ||
98 | |||
99 | # the configure of rlm_perl needs this to get correct | ||
100 | # mod_cflags and mod_ldflags | ||
101 | if ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'true', 'false', d)}; then | ||
102 | export PERL5LIB="${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}" | ||
103 | fi | ||
104 | |||
105 | oe_runconf | ||
106 | |||
107 | # we don't need dhcpclient | ||
108 | sed -i -e 's/dhcpclient.mk//' ${S}/src/modules/proto_dhcp/all.mk | ||
109 | } | ||
110 | |||
111 | INITSCRIPT_NAME = "radiusd" | ||
112 | |||
113 | SYSTEMD_SERVICE_${PN} = "radiusd.service" | ||
114 | |||
115 | USERADD_PACKAGES = "${PN}" | ||
116 | USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false --user-group radiusd" | ||
117 | |||
118 | do_install() { | ||
119 | rm -rf ${D} | ||
120 | mkdir -p ${D}/${sysconfdir}/logrotate.d | ||
121 | mkdir -p ${D}/${sysconfdir}/pam.d | ||
122 | mkdir -p ${D}/${sysconfdir}/init.d | ||
123 | mkdir -p ${D}/${localstatedir}/lib/radiusd | ||
124 | mkdir -p ${D}${sysconfdir}/default/volatiles | ||
125 | |||
126 | export LD_LIBRARY_PATH=${D}/${libdir} | ||
127 | oe_runmake install R=${D} INSTALLSTRIP="" | ||
128 | |||
129 | # remove unsupported config files | ||
130 | rm -f ${D}/${sysconfdir}/raddb/experimental.conf | ||
131 | |||
132 | # remove scripts that required Perl(DBI) | ||
133 | rm -rf ${D}/${bindir}/radsqlrelay | ||
134 | |||
135 | cp -f ${WORKDIR}/freeradius ${D}/etc/init.d/radiusd | ||
136 | rm -f ${D}/${sbindir}/rc.radiusd | ||
137 | chmod +x ${D}/${sysconfdir}/init.d/radiusd | ||
138 | rm -rf ${D}/${localstatedir}/run/ | ||
139 | install -m 0644 ${WORKDIR}/volatiles.58_radiusd ${D}${sysconfdir}/default/volatiles/58_radiusd | ||
140 | |||
141 | chown -R radiusd:radiusd ${D}/${sysconfdir}/raddb/ | ||
142 | chown -R radiusd:radiusd ${D}/${localstatedir}/lib/radiusd | ||
143 | |||
144 | # For systemd | ||
145 | install -d ${D}${systemd_unitdir}/system | ||
146 | install -m 0644 ${WORKDIR}/radiusd.service ${D}${systemd_unitdir}/system | ||
147 | sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ | ||
148 | -e 's,@SBINDIR@,${sbindir},g' \ | ||
149 | -e 's,@STATEDIR@,${localstatedir},g' \ | ||
150 | -e 's,@SYSCONFDIR@,${sysconfdir},g' \ | ||
151 | ${D}${systemd_unitdir}/system/radiusd.service | ||
152 | |||
153 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then | ||
154 | install -d ${D}${sysconfdir}/tmpfiles.d/ | ||
155 | install -m 0644 ${WORKDIR}/radiusd-volatiles.conf ${D}${sysconfdir}/tmpfiles.d/ | ||
156 | fi | ||
157 | } | ||
158 | |||
159 | # This is only needed when we install/update on a running target. | ||
160 | # | ||
161 | pkg_postinst_${PN} () { | ||
162 | if [ -z "$D" ]; then | ||
163 | if command -v systemd-tmpfiles >/dev/null; then | ||
164 | # create /var/log/radius, /var/run/radiusd | ||
165 | systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/radiusd-volatiles.conf | ||
166 | elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then | ||
167 | ${sysconfdir}/init.d/populate-volatile.sh update | ||
168 | fi | ||
169 | |||
170 | # Fix ownership for /etc/raddb/*, /var/lib/radiusd | ||
171 | chown -R radiusd:radiusd ${sysconfdir}/raddb | ||
172 | chown -R radiusd:radiusd ${localstatedir}/lib/radiusd | ||
173 | fi | ||
174 | } | ||
175 | |||
176 | # We really need the symlink :( | ||
177 | INSANE_SKIP_${PN} = "dev-so" | ||
178 | INSANE_SKIP_${PN}-krb5 = "dev-so" | ||
179 | INSANE_SKIP_${PN}-ldap = "dev-so" | ||
180 | INSANE_SKIP_${PN}-mysql = "dev-so" | ||
181 | INSANE_SKIP_${PN}-perl = "dev-so" | ||
182 | INSANE_SKIP_${PN}-postgresql = "dev-so" | ||
183 | INSANE_SKIP_${PN}-python = "dev-so" | ||
184 | INSANE_SKIP_${PN}-unixodbc = "dev-so" | ||
185 | |||
186 | PACKAGES =+ "${PN}-utils ${PN}-ldap ${PN}-krb5 ${PN}-perl \ | ||
187 | ${PN}-python ${PN}-mysql ${PN}-postgresql ${PN}-unixodbc" | ||
188 | |||
189 | FILES_${PN}-utils = "${bindir}/*" | ||
190 | |||
191 | FILES_${PN}-ldap = "${libdir}/rlm_ldap.so* \ | ||
192 | ${sysconfdir}/raddb/mods-available/ldap \ | ||
193 | " | ||
194 | |||
195 | FILES_${PN}-krb5 = "${libdir}/rlm_krb5.so* \ | ||
196 | ${sysconfdir}/raddb/mods-available/krb5 \ | ||
197 | " | ||
198 | |||
199 | FILES_${PN}-perl = "${libdir}/rlm_perl.so* \ | ||
200 | ${sysconfdir}/raddb/mods-config/perl \ | ||
201 | ${sysconfdir}/raddb/mods-available/perl \ | ||
202 | " | ||
203 | |||
204 | FILES_${PN}-python = "${libdir}/rlm_python.so* \ | ||
205 | ${sysconfdir}/raddb/mods-config/python \ | ||
206 | ${sysconfdir}/raddb/mods-available/python \ | ||
207 | " | ||
208 | |||
209 | FILES_${PN}-mysql = "${libdir}/rlm_sql_mysql.so* \ | ||
210 | ${sysconfdir}/raddb/mods-config/sql/*/mysql \ | ||
211 | ${sysconfdir}/raddb/mods-available/sql \ | ||
212 | " | ||
213 | |||
214 | FILES_${PN}-postgresql = "${libdir}/rlm_sql_postgresql.so* \ | ||
215 | ${sysconfdir}/raddb/mods-config/sql/*/postgresql \ | ||
216 | " | ||
217 | |||
218 | FILES_${PN}-unixodbc = "${libdir}/rlm_sql_unixodbc.so*" | ||
219 | |||
220 | FILES_${PN} =+ "${libdir}/rlm_*.so* ${libdir}/proto_*so*" | ||
221 | |||
222 | RDEPENDS_${PN} += "perl" | ||
223 | RDEPENDS_${PN}-utils = "${PN}" | ||