aboutsummaryrefslogtreecommitdiffstats
path: root/hostapd
diff options
context:
space:
mode:
authorJouni Malinen <jouni@qca.qualcomm.com>2011-06-27 15:19:46 -0700
committerDmitry Shmidt <dimitrysh@google.com>2011-06-27 15:20:55 -0700
commit75ecf5267604f166b85a7ee2cf0d9cb682966680 (patch)
tree0056e7ebf5af72a85abe6c0868de6ffc2f08eaae /hostapd
parente61a2d6db6113da5fad91660764afdb0596dbc46 (diff)
downloadexternal_wpa_supplicant_8-75ecf5267604f166b85a7ee2cf0d9cb682966680.zip
external_wpa_supplicant_8-75ecf5267604f166b85a7ee2cf0d9cb682966680.tar.gz
external_wpa_supplicant_8-75ecf5267604f166b85a7ee2cf0d9cb682966680.tar.bz2
Accumulative patch from commit 20a0b03debef66cc57b0c34a05f8be5229be907c
atheros: Fix auth_alg configuration for static WEP nl80211: Implement set_rate_sets for non-hostapd AP case nl80211: Enable more AP callbacks for non-hostapd AP mode nl80211: Re-order functions to group AP/hostapd specific code Remove compiler warning for non-P2P builds random: Add support for maintaining internal entropy store over restarts Fix a compiler warning on WPS-AP-without-UPnP builds P2P: Retry provision discovery requests in IDLE state P2P: Add callback for provision discovery failure P2P: Add wpas_notify_p2p_provision_discovery() P2P: Add group started notification DBus: Move wpas_dbus_new_decompose_object_path() DBus: Refactor array adding, add binary arrays DBus: Add support for P2P primitives DBus: Fix some typos on comments Fix CONFIG_AP=y build without CONFIG_P2P=y Fix non-P2P D-Bus build nl80211: Add support for driver-based PMKSA cache P2P: Start GO without extra scan step Remove a compiler warning on uninitialized variable Add EVENT_RX_ACTION handler for hostapd Fix hostapd build without NEED_AP_MLME=y Fix AP selection to check privacy mismatch and IBSS with WPA/RSN IE bsd: Fix set_key() sequence number endian issue Add a copyright and license statement for a radiotap header file Use nl80211 as an example instead of WEXT Add notes for CONFIG_WPS_ER build configuration option Fix CONFIG_NO_WPA_PASSPHRASE=y build hostapd: Don't mask out non-symmetric STA HT caps P2P: Enable P2P capability advertisement on D-Bus P2P: Update D-Bus network object semantics during group formation P2P: Show P2P peer signal level in D-Bus P2P device properties P2P: Fix P2P device signal level type in D-Bus P2P: Add dissasoc_low_ack in P2P device properties P2P: More complete persistent group management over D-Bus P2P: Add WpsFailed signal in P2P D-Bus P2P: Update listen and operating channel from P2P D-Bus P2P: Fix WpsFailed signal in P2P D-Bus atheros: Fix glibc 'invalid pointer' error when WPA_TRACE is enabled Clear WPA and EAPOL state machine config pointer on network removal 20a0b03debef66cc57b0c34a05f8be5229be907c Change-Id: I2b83bf86ba9c7a9a218638be7b4de31d209cdde1 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'hostapd')
-rw-r--r--hostapd/defconfig10
-rw-r--r--hostapd/main.c16
2 files changed, 19 insertions, 7 deletions
diff --git a/hostapd/defconfig b/hostapd/defconfig
index 38d3284..26be2a8 100644
--- a/hostapd/defconfig
+++ b/hostapd/defconfig
@@ -193,9 +193,15 @@ CONFIG_IPV6=y
# it may help in cases where the system pool is not initialized properly.
# However, it is very strongly recommended that the system pool is initialized
# with enough entropy either by using hardware assisted random number
-# generatior or by storing state over device reboots.
+# generator or by storing state over device reboots.
#
-# If the os_get_random() is known to provide strong ramdom data (e.g., on
+# hostapd can be configured to maintain its own entropy store over restarts to
+# enhance random number generation. This is not perfect, but it is much more
+# secure than using the same sequence of random numbers after every reboot.
+# This can be enabled with -e<entropy file> command line option. The specified
+# file needs to be readable and writable by hostapd.
+#
+# If the os_get_random() is known to provide strong random data (e.g., on
# Linux/BSD, the board in question is known to have reliable source of random
# data from /dev/urandom), the internal hostapd random pool can be disabled.
# This will save some in binary size and CPU use. However, this should only be
diff --git a/hostapd/main.c b/hostapd/main.c
index 7a4cfb0..01ad826 100644
--- a/hostapd/main.c
+++ b/hostapd/main.c
@@ -369,7 +369,8 @@ static void handle_dump_state(int sig, void *signal_ctx)
#endif /* CONFIG_NATIVE_WINDOWS */
-static int hostapd_global_init(struct hapd_interfaces *interfaces)
+static int hostapd_global_init(struct hapd_interfaces *interfaces,
+ const char *entropy_file)
{
hostapd_logger_register_cb(hostapd_logger_cb);
@@ -383,7 +384,7 @@ static int hostapd_global_init(struct hapd_interfaces *interfaces)
return -1;
}
- random_init();
+ random_init(entropy_file);
#ifndef CONFIG_NATIVE_WINDOWS
eloop_register_signal(SIGHUP, handle_reload, interfaces);
@@ -468,13 +469,14 @@ static void usage(void)
show_version();
fprintf(stderr,
"\n"
- "usage: hostapd [-hdBKtv] [-P <PID file>] "
+ "usage: hostapd [-hdBKtv] [-P <PID file>] [-e <entropy file>] "
"<configuration file(s)>\n"
"\n"
"options:\n"
" -h show this usage\n"
" -d show more debug messages (-dd for even more)\n"
" -B run daemon in the background\n"
+ " -e entropy file\n"
" -P PID file\n"
" -K include key data in debug messages\n"
#ifdef CONFIG_DEBUG_FILE
@@ -504,12 +506,13 @@ int main(int argc, char *argv[])
int c, debug = 0, daemonize = 0;
char *pid_file = NULL;
const char *log_file = NULL;
+ const char *entropy_file = NULL;
if (os_program_init())
return -1;
for (;;) {
- c = getopt(argc, argv, "Bdf:hKP:tv");
+ c = getopt(argc, argv, "Bde:f:hKP:tv");
if (c < 0)
break;
switch (c) {
@@ -524,6 +527,9 @@ int main(int argc, char *argv[])
case 'B':
daemonize++;
break;
+ case 'e':
+ entropy_file = optarg;
+ break;
case 'f':
log_file = optarg;
break;
@@ -564,7 +570,7 @@ int main(int argc, char *argv[])
return -1;
}
- if (hostapd_global_init(&interfaces))
+ if (hostapd_global_init(&interfaces, entropy_file))
return -1;
/* Initialize interfaces */