diff --git a/package/network/services/hostapd/files/radius.config b/package/network/services/hostapd/files/radius.config index a66fc2a9ac0..9c26b751f25 100644 --- a/package/network/services/hostapd/files/radius.config +++ b/package/network/services/hostapd/files/radius.config @@ -1,6 +1,17 @@ config radius option disabled '1' option ipv6 '1' + + # Logging levels: + # 0: ALL + # 1: MSGDUMP + # 2: DEBUG + # 3: INFO + # 4: WARNING + # 5: ERROR + # Default: INFO + option log_level '3' + option ca_cert '/etc/radius/ca.pem' option cert '/etc/radius/cert.pem' option key '/etc/radius/key.pem' diff --git a/package/network/services/hostapd/files/radius.init b/package/network/services/hostapd/files/radius.init index b594993a562..29f687c93f2 100644 --- a/package/network/services/hostapd/files/radius.init +++ b/package/network/services/hostapd/files/radius.init @@ -13,6 +13,7 @@ radius_start() { [ "$disabled" -gt 0 ] && return config_get_bool ipv6 "$cfg" ipv6 1 + config_get log_level "$cfg" log_level 3 config_get ca "$cfg" ca_cert config_get key "$cfg" key config_get cert "$cfg" cert @@ -24,12 +25,14 @@ radius_start() { procd_open_instance $cfg procd_set_param command /usr/sbin/hostapd-radius \ - -C "$ca" \ + -l "$log_level" -C "$ca" \ -c "$cert" -k "$key" \ -s "$clients" -u "$users" \ -p "$auth_port" -P "$acct_port" \ -i "$identity" [ "$ipv6" -gt 0 ] && procd_append_param command -6 + procd_set_param stdout 1 + procd_set_param stderr 1 procd_close_instance } diff --git a/package/network/services/hostapd/src/hostapd/radius.c b/package/network/services/hostapd/src/hostapd/radius.c index 362a22c276e..7685d4d6743 100644 --- a/package/network/services/hostapd/src/hostapd/radius.c +++ b/package/network/services/hostapd/src/hostapd/radius.c @@ -624,7 +624,6 @@ int radius_main(int argc, char **argv) int ch; wpa_debug_setup_stdout(); - wpa_debug_level = 0; if (eloop_init()) { wpa_printf(MSG_ERROR, "Failed to initialize event loop"); @@ -634,11 +633,14 @@ int radius_main(int argc, char **argv) eap_server_register_methods(); radius_init(&state); - while ((ch = getopt(argc, argv, "6C:c:d:i:k:K:p:P:s:u:")) != -1) { + while ((ch = getopt(argc, argv, "6l:C:c:d:i:k:K:p:P:s:u:")) != -1) { switch (ch) { case '6': config.radius.ipv6 = 1; break; + case 'l': + wpa_debug_level = atoi(optarg); + break; case 'C': config.tls.ca_cert = optarg; break;