Update to new version 0.8.22 from BRCM

- Based on 0c01d65 : Ignore TX status for Data frames from not associated
  STA

Change-Id: I2776ff8e292593f407bf5b9177640c512e06bf0d
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
This commit is contained in:
Dmitry Shmidt
2012-03-06 16:33:24 -08:00
parent 950d1568eb
commit c5ec7f57ea
487 changed files with 3941 additions and 4454 deletions

View File

@@ -2,37 +2,22 @@ hostapd - user space IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP
Authenticator and RADIUS authentication server Authenticator and RADIUS authentication server
================================================================ ================================================================
Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi> and contributors Copyright (c) 2002-2012, Jouni Malinen <j@w1.fi> and contributors
All Rights Reserved. All Rights Reserved.
This program is dual-licensed under both the GPL version 2 and BSD This program is licensed under the BSD license (the one with
license. Either license may be used at your option. advertisement clause removed).
If you are submitting changes to the project, please see CONTRIBUTIONS
file for more instructions.
License License
------- -------
GPL v2: This software may be distributed, used, and modified under the terms of
BSD license:
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
(this copy of the license is in COPYING file)
Alternatively, this software may be distributed, used, and modified
under the terms of BSD license:
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are modification, are permitted provided that the following conditions are

View File

@@ -2,14 +2,8 @@
* hostapd / Configuration file parser * hostapd / Configuration file parser
* Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -2,14 +2,8 @@
* hostapd / Configuration file parser * hostapd / Configuration file parser
* Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef CONFIG_FILE_H #ifndef CONFIG_FILE_H

View File

@@ -2,14 +2,8 @@
* hostapd / UNIX domain socket -based control interface * hostapd / UNIX domain socket -based control interface
* Copyright (c) 2004-2010, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2010, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -2,14 +2,8 @@
* hostapd / UNIX domain socket -based control interface * hostapd / UNIX domain socket -based control interface
* Copyright (c) 2004, Jouni Malinen <j@w1.fi> * Copyright (c) 2004, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef CTRL_IFACE_H #ifndef CTRL_IFACE_H

View File

@@ -84,6 +84,9 @@ CONFIG_EAP_TTLS=y
# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK) # EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK)
#CONFIG_EAP_PSK=y #CONFIG_EAP_PSK=y
# EAP-pwd for the integrated EAP server (secure authentication with a password)
#CONFIG_EAP_PWD=y
# EAP-SAKE for the integrated EAP server # EAP-SAKE for the integrated EAP server
#CONFIG_EAP_SAKE=y #CONFIG_EAP_SAKE=y

View File

@@ -2,14 +2,8 @@
* hostapd / State dump * hostapd / State dump
* Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -2,14 +2,8 @@
* hostapd / State dump * hostapd / State dump
* Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef DUMP_STATE_H #ifndef DUMP_STATE_H

View File

@@ -2,14 +2,8 @@
* EAP method registration * EAP method registration
* Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -2,14 +2,8 @@
* EAP method registration * EAP method registration
* Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef EAP_REGISTER_H #ifndef EAP_REGISTER_H

View File

@@ -2,14 +2,8 @@
* HLR/AuC testing gateway for hostapd EAP-SIM/AKA database/authenticator * HLR/AuC testing gateway for hostapd EAP-SIM/AKA database/authenticator
* Copyright (c) 2005-2007, Jouni Malinen <j@w1.fi> * Copyright (c) 2005-2007, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
* *
* This is an example implementation of the EAP-SIM/AKA database/authentication * This is an example implementation of the EAP-SIM/AKA database/authentication
* gateway interface to HLR/AuC. It is expected to be replaced with an * gateway interface to HLR/AuC. It is expected to be replaced with an

View File

@@ -2,14 +2,8 @@
* hostapd - command line interface for hostapd daemon * hostapd - command line interface for hostapd daemon
* Copyright (c) 2004-2011, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2011, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"
@@ -24,32 +18,15 @@
static const char *hostapd_cli_version = static const char *hostapd_cli_version =
"hostapd_cli v" VERSION_STR "\n" "hostapd_cli v" VERSION_STR "\n"
"Copyright (c) 2004-2011, Jouni Malinen <j@w1.fi> and contributors"; "Copyright (c) 2004-2012, Jouni Malinen <j@w1.fi> and contributors";
static const char *hostapd_cli_license = static const char *hostapd_cli_license =
"This program is free software. You can distribute it and/or modify it\n" "This software may be distributed under the terms of the BSD license.\n"
"under the terms of the GNU General Public License version 2.\n" "See README for more details.\n";
"\n"
"Alternatively, this software may be distributed under the terms of the\n"
"BSD license. See README and COPYING for more details.\n";
static const char *hostapd_cli_full_license = static const char *hostapd_cli_full_license =
"This program is free software; you can redistribute it and/or modify\n" "This software may be distributed under the terms of the BSD license.\n"
"it under the terms of the GNU General Public License version 2 as\n"
"published by the Free Software Foundation.\n"
"\n"
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
"GNU General Public License for more details.\n"
"\n"
"You should have received a copy of the GNU General Public License\n"
"along with this program; if not, write to the Free Software\n"
"Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n"
"\n"
"Alternatively, this software may be distributed under the terms of the\n"
"BSD license.\n"
"\n" "\n"
"Redistribution and use in source and binary forms, with or without\n" "Redistribution and use in source and binary forms, with or without\n"
"modification, are permitted provided that the following conditions are\n" "modification, are permitted provided that the following conditions are\n"

View File

@@ -2,14 +2,8 @@
* hostapd / main() * hostapd / main()
* Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"
@@ -513,7 +507,7 @@ static void show_version(void)
"hostapd v" VERSION_STR "\n" "hostapd v" VERSION_STR "\n"
"User space daemon for IEEE 802.11 AP management,\n" "User space daemon for IEEE 802.11 AP management,\n"
"IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator\n" "IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator\n"
"Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi> " "Copyright (c) 2002-2012, Jouni Malinen <j@w1.fi> "
"and contributors\n"); "and contributors\n");
} }

View File

@@ -2,14 +2,8 @@
* hostapd - Plaintext password to NtPasswordHash * hostapd - Plaintext password to NtPasswordHash
* Copyright (c) 2005, Jouni Malinen <j@w1.fi> * Copyright (c) 2005, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -2,14 +2,8 @@
* hostapd / RADIUS Accounting * hostapd / RADIUS Accounting
* Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -2,14 +2,8 @@
* hostapd / RADIUS Accounting * hostapd / RADIUS Accounting
* Copyright (c) 2002-2005, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2005, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef ACCOUNTING_H #ifndef ACCOUNTING_H

View File

@@ -2,14 +2,8 @@
* hostapd / Configuration helper functions * hostapd / Configuration helper functions
* Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"
@@ -451,6 +445,9 @@ static void hostapd_config_free_bss(struct hostapd_bss_config *conf)
} }
#endif /* CONFIG_IEEE80211R */ #endif /* CONFIG_IEEE80211R */
#ifdef ANDROID_P2P
os_free(conf->prioritize);
#endif
#ifdef CONFIG_WPS #ifdef CONFIG_WPS
os_free(conf->wps_pin_requests); os_free(conf->wps_pin_requests);
os_free(conf->device_name); os_free(conf->device_name);

View File

@@ -2,14 +2,8 @@
* hostapd / Configuration definitions and helpers functions * hostapd / Configuration definitions and helpers functions
* Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef HOSTAPD_CONFIG_H #ifndef HOSTAPD_CONFIG_H
@@ -308,6 +302,9 @@ struct hostapd_bss_config {
u8 uuid[16]; u8 uuid[16];
char *wps_pin_requests; char *wps_pin_requests;
char *device_name; char *device_name;
#ifdef ANDROID_P2P
char *prioritize;
#endif
char *manufacturer; char *manufacturer;
char *model_name; char *model_name;
char *model_number; char *model_number;

View File

@@ -2,14 +2,8 @@
* hostapd - Driver operations * hostapd - Driver operations
* Copyright (c) 2009-2010, Jouni Malinen <j@w1.fi> * Copyright (c) 2009-2010, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -2,14 +2,8 @@
* hostapd - Driver operations * hostapd - Driver operations
* Copyright (c) 2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef AP_DRV_OPS #ifndef AP_DRV_OPS

View File

@@ -4,14 +4,8 @@
* Copyright (c) 2003-2004, Instant802 Networks, Inc. * Copyright (c) 2003-2004, Instant802 Networks, Inc.
* Copyright (c) 2006, Devicescape Software, Inc. * Copyright (c) 2006, Devicescape Software, Inc.
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -4,14 +4,8 @@
* Copyright (c) 2003-2004, Instant802 Networks, Inc. * Copyright (c) 2003-2004, Instant802 Networks, Inc.
* Copyright (c) 2006, Devicescape Software, Inc. * Copyright (c) 2006, Devicescape Software, Inc.
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef AP_LIST_H #ifndef AP_LIST_H

View File

@@ -4,14 +4,8 @@
* Copyright 2003-2004, Instant802 Networks, Inc. * Copyright 2003-2004, Instant802 Networks, Inc.
* Copyright 2005-2006, Devicescape Software, Inc. * Copyright 2005-2006, Devicescape Software, Inc.
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -4,14 +4,8 @@
* Copyright 2003-2004, Instant802 Networks, Inc. * Copyright 2003-2004, Instant802 Networks, Inc.
* Copyright 2005-2006, Devicescape Software, Inc. * Copyright 2005-2006, Devicescape Software, Inc.
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef MLME_H #ifndef MLME_H

View File

@@ -2,14 +2,8 @@
* Authentication server setup * Authentication server setup
* Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -2,14 +2,8 @@
* Authentication server setup * Authentication server setup
* Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef AUTHSRV_H #ifndef AUTHSRV_H

View File

@@ -343,6 +343,18 @@ void handle_probe_req(struct hostapd_data *hapd,
} }
wpabuf_free(wps); wpabuf_free(wps);
} }
if (hapd->p2p && elems.p2p) {
struct wpabuf *p2p;
p2p = ieee802_11_vendor_ie_concat(ie, ie_len, P2P_IE_VENDOR_TYPE);
if (p2p && !p2p_group_match_dev_id(hapd->p2p_group, p2p)) {
wpa_printf(MSG_MSGDUMP, "P2P: Ignore Probe Request "
"due to mismatch with Device ID");
wpabuf_free(p2p);
return;
}
wpabuf_free(p2p);
}
#endif /* CONFIG_P2P */ #endif /* CONFIG_P2P */
if (hapd->conf->ignore_broadcast_ssid && elems.ssid_len == 0) { if (hapd->conf->ignore_broadcast_ssid && elems.ssid_len == 0) {

View File

@@ -2,14 +2,8 @@
* Control interface for shared AP commands * Control interface for shared AP commands
* Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -2,14 +2,8 @@
* Control interface for shared AP commands * Control interface for shared AP commands
* Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef CTRL_IFACE_AP_H #ifndef CTRL_IFACE_AP_H

View File

@@ -2,14 +2,8 @@
* hostapd / Callback functions for driver wrappers * hostapd / Callback functions for driver wrappers
* Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -2,14 +2,8 @@
* hostapd / Initialization and configuration * hostapd / Initialization and configuration
* Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -2,14 +2,8 @@
* hostapd / Initialization and configuration * hostapd / Initialization and configuration
* Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef HOSTAPD_H #ifndef HOSTAPD_H
@@ -125,6 +119,7 @@ struct hostapd_data {
struct wpabuf *wps_probe_resp_ie; struct wpabuf *wps_probe_resp_ie;
#ifdef CONFIG_WPS #ifdef CONFIG_WPS
unsigned int ap_pin_failures; unsigned int ap_pin_failures;
unsigned int ap_pin_failures_consecutive;
struct upnp_wps_device_sm *wps_upnp; struct upnp_wps_device_sm *wps_upnp;
unsigned int ap_pin_lockout_time; unsigned int ap_pin_lockout_time;
#endif /* CONFIG_WPS */ #endif /* CONFIG_WPS */

View File

@@ -2,14 +2,8 @@
* hostapd / IEEE 802.11F-2003 Inter-Access Point Protocol (IAPP) * hostapd / IEEE 802.11F-2003 Inter-Access Point Protocol (IAPP)
* Copyright (c) 2002-2007, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2007, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
* *
* Note: IEEE 802.11F-2003 was a experimental use specification. It has expired * Note: IEEE 802.11F-2003 was a experimental use specification. It has expired
* and IEEE has withdrawn it. In other words, it is likely better to look at * and IEEE has withdrawn it. In other words, it is likely better to look at

View File

@@ -2,14 +2,8 @@
* hostapd / IEEE 802.11F-2003 Inter-Access Point Protocol (IAPP) * hostapd / IEEE 802.11F-2003 Inter-Access Point Protocol (IAPP)
* Copyright (c) 2002-2005, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2005, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef IAPP_H #ifndef IAPP_H

View File

@@ -1,15 +1,9 @@
/* /*
* hostapd / IEEE 802.11 Management * hostapd / IEEE 802.11 Management
* Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2012, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"
@@ -1744,7 +1738,7 @@ void hostapd_tx_status(struct hostapd_data *hapd, const u8 *addr,
break; break;
} }
} }
if (sta == NULL) if (sta == NULL || !(sta->flags & WLAN_STA_ASSOC))
return; return;
if (sta->flags & WLAN_STA_PENDING_POLL) { if (sta->flags & WLAN_STA_PENDING_POLL) {
wpa_printf(MSG_DEBUG, "STA " MACSTR " %s pending " wpa_printf(MSG_DEBUG, "STA " MACSTR " %s pending "
@@ -1774,8 +1768,12 @@ void hostapd_eapol_tx_status(struct hostapd_data *hapd, const u8 *dst,
break; break;
} }
} }
if (sta == NULL) if (sta == NULL || !(sta->flags & WLAN_STA_ASSOC)) {
wpa_printf(MSG_DEBUG, "Ignore TX status for Data frame to STA "
MACSTR " that is not currently associated",
MAC2STR(dst));
return; return;
}
ieee802_1x_eapol_tx_status(hapd, sta, data, len, ack); ieee802_1x_eapol_tx_status(hapd, sta, data, len, ack);
} }

View File

@@ -2,14 +2,8 @@
* hostapd / IEEE 802.11 Management * hostapd / IEEE 802.11 Management
* Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef IEEE802_11_H #ifndef IEEE802_11_H

View File

@@ -2,14 +2,8 @@
* hostapd / IEEE 802.11 authentication (ACL) * hostapd / IEEE 802.11 authentication (ACL)
* Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
* *
* Access control list for IEEE 802.11 authentication can uses statically * Access control list for IEEE 802.11 authentication can uses statically
* configured ACL from configuration files or an external RADIUS server. * configured ACL from configuration files or an external RADIUS server.

View File

@@ -2,14 +2,8 @@
* hostapd / IEEE 802.11 authentication (ACL) * hostapd / IEEE 802.11 authentication (ACL)
* Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef IEEE802_11_AUTH_H #ifndef IEEE802_11_AUTH_H

View File

@@ -2,14 +2,8 @@
* hostapd / IEEE 802.11 Management * hostapd / IEEE 802.11 Management
* Copyright (c) 2002-2010, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2010, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -1,15 +1,9 @@
/* /*
* hostapd / IEEE 802.1X-2004 Authenticator * hostapd / IEEE 802.1X-2004 Authenticator
* Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2012, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"
@@ -918,6 +912,7 @@ void ieee802_1x_new_station(struct hostapd_data *hapd, struct sta_info *sta)
sta->eapol_sm->auth_pae_state = AUTH_PAE_AUTHENTICATING; sta->eapol_sm->auth_pae_state = AUTH_PAE_AUTHENTICATING;
sta->eapol_sm->be_auth_state = BE_AUTH_SUCCESS; sta->eapol_sm->be_auth_state = BE_AUTH_SUCCESS;
sta->eapol_sm->authSuccess = TRUE; sta->eapol_sm->authSuccess = TRUE;
sta->eapol_sm->authFail = FALSE;
if (sta->eapol_sm->eap) if (sta->eapol_sm->eap)
eap_sm_notify_cached(sta->eapol_sm->eap); eap_sm_notify_cached(sta->eapol_sm->eap);
/* TODO: get vlan_id from R0KH using RRB message */ /* TODO: get vlan_id from R0KH using RRB message */
@@ -939,6 +934,7 @@ void ieee802_1x_new_station(struct hostapd_data *hapd, struct sta_info *sta)
sta->eapol_sm->auth_pae_state = AUTH_PAE_AUTHENTICATING; sta->eapol_sm->auth_pae_state = AUTH_PAE_AUTHENTICATING;
sta->eapol_sm->be_auth_state = BE_AUTH_SUCCESS; sta->eapol_sm->be_auth_state = BE_AUTH_SUCCESS;
sta->eapol_sm->authSuccess = TRUE; sta->eapol_sm->authSuccess = TRUE;
sta->eapol_sm->authFail = FALSE;
if (sta->eapol_sm->eap) if (sta->eapol_sm->eap)
eap_sm_notify_cached(sta->eapol_sm->eap); eap_sm_notify_cached(sta->eapol_sm->eap);
old_vlanid = sta->vlan_id; old_vlanid = sta->vlan_id;

View File

@@ -2,14 +2,8 @@
* hostapd / IEEE 802.1X-2004 Authenticator * hostapd / IEEE 802.1X-2004 Authenticator
* Copyright (c) 2002-2007, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2007, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef IEEE802_1X_H #ifndef IEEE802_1X_H

View File

@@ -2,14 +2,8 @@
* hostapd / P2P integration * hostapd / P2P integration
* Copyright (c) 2009-2010, Atheros Communications * Copyright (c) 2009-2010, Atheros Communications
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -2,14 +2,8 @@
* hostapd / P2P integration * hostapd / P2P integration
* Copyright (c) 2009-2010, Atheros Communications * Copyright (c) 2009-2010, Atheros Communications
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef P2P_HOSTAPD_H #ifndef P2P_HOSTAPD_H

View File

@@ -2,14 +2,8 @@
* hostapd - PeerKey for Direct Link Setup (DLS) * hostapd - PeerKey for Direct Link Setup (DLS)
* Copyright (c) 2006-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2006-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -2,14 +2,8 @@
* hostapd - PMKSA cache for IEEE 802.11i RSN * hostapd - PMKSA cache for IEEE 802.11i RSN
* Copyright (c) 2004-2008, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2008, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -2,14 +2,8 @@
* hostapd - PMKSA cache for IEEE 802.11i RSN * hostapd - PMKSA cache for IEEE 802.11i RSN
* Copyright (c) 2004-2008, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2008, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef PMKSA_CACHE_H #ifndef PMKSA_CACHE_H

View File

@@ -2,14 +2,8 @@
* hostapd - Authenticator for IEEE 802.11i RSN pre-authentication * hostapd - Authenticator for IEEE 802.11i RSN pre-authentication
* Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -2,14 +2,8 @@
* hostapd - Authenticator for IEEE 802.11i RSN pre-authentication * hostapd - Authenticator for IEEE 802.11i RSN pre-authentication
* Copyright (c) 2004-2005, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2005, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef PREAUTH_H #ifndef PREAUTH_H

View File

@@ -2,14 +2,8 @@
* hostapd / Station table * hostapd / Station table
* Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"
@@ -284,8 +278,14 @@ void ap_handle_timer(void *eloop_ctx, void *timeout_ctx)
if (inactive_sec == -1) { if (inactive_sec == -1) {
wpa_msg(hapd->msg_ctx, MSG_DEBUG, wpa_msg(hapd->msg_ctx, MSG_DEBUG,
"Check inactivity: Could not " "Check inactivity: Could not "
"get station info rom kernel driver for " "get station info from kernel driver for "
MACSTR, MAC2STR(sta->addr)); MACSTR, MAC2STR(sta->addr));
/*
* The driver may not support this functionality.
* Anyway, try again after the next inactivity timeout,
* but do not disconnect the station now.
*/
next_time = hapd->conf->ap_max_inactivity;
} else if (inactive_sec < hapd->conf->ap_max_inactivity && } else if (inactive_sec < hapd->conf->ap_max_inactivity &&
sta->flags & WLAN_STA_ASSOC) { sta->flags & WLAN_STA_ASSOC) {
/* station activity detected; reset timeout state */ /* station activity detected; reset timeout state */
@@ -845,6 +845,8 @@ void ap_sta_disconnect(struct hostapd_data *hapd, struct sta_info *sta,
if (sta == NULL) if (sta == NULL)
return; return;
ap_sta_set_authorized(hapd, sta, 0); ap_sta_set_authorized(hapd, sta, 0);
wpa_auth_sm_event(sta->wpa_sm, WPA_DEAUTH);
ieee802_1x_notify_port_enabled(sta->eapol_sm, 0);
sta->flags &= ~(WLAN_STA_AUTH | WLAN_STA_ASSOC); sta->flags &= ~(WLAN_STA_AUTH | WLAN_STA_ASSOC);
eloop_cancel_timeout(ap_handle_timer, hapd, sta); eloop_cancel_timeout(ap_handle_timer, hapd, sta);
eloop_register_timeout(AP_MAX_INACTIVITY_AFTER_DEAUTH, 0, eloop_register_timeout(AP_MAX_INACTIVITY_AFTER_DEAUTH, 0,

View File

@@ -2,14 +2,8 @@
* hostapd / Station table * hostapd / Station table
* Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef STA_INFO_H #ifndef STA_INFO_H

View File

@@ -2,14 +2,8 @@
* hostapd / TKIP countermeasures * hostapd / TKIP countermeasures
* Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -2,14 +2,8 @@
* hostapd / TKIP countermeasures * hostapd / TKIP countermeasures
* Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef TKIP_COUNTERMEASURES_H #ifndef TKIP_COUNTERMEASURES_H

View File

@@ -2,14 +2,8 @@
* AP mode helper functions * AP mode helper functions
* Copyright (c) 2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -2,14 +2,8 @@
* IEEE 802.11 RSN / WPA Authenticator * IEEE 802.11 RSN / WPA Authenticator
* Copyright (c) 2004-2011, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2011, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"
@@ -647,14 +641,14 @@ static void wpa_request_new_ptk(struct wpa_state_machine *sm)
} }
static int wpa_replay_counter_valid(struct wpa_state_machine *sm, static int wpa_replay_counter_valid(struct wpa_key_replay_counter *ctr,
const u8 *replay_counter) const u8 *replay_counter)
{ {
int i; int i;
for (i = 0; i < RSNA_MAX_EAPOL_RETRIES; i++) { for (i = 0; i < RSNA_MAX_EAPOL_RETRIES; i++) {
if (!sm->key_replay[i].valid) if (!ctr[i].valid)
break; break;
if (os_memcmp(replay_counter, sm->key_replay[i].counter, if (os_memcmp(replay_counter, ctr[i].counter,
WPA_REPLAY_COUNTER_LEN) == 0) WPA_REPLAY_COUNTER_LEN) == 0)
return 1; return 1;
} }
@@ -662,6 +656,20 @@ static int wpa_replay_counter_valid(struct wpa_state_machine *sm,
} }
static void wpa_replay_counter_mark_invalid(struct wpa_key_replay_counter *ctr,
const u8 *replay_counter)
{
int i;
for (i = 0; i < RSNA_MAX_EAPOL_RETRIES; i++) {
if (ctr[i].valid &&
(replay_counter == NULL ||
os_memcmp(replay_counter, ctr[i].counter,
WPA_REPLAY_COUNTER_LEN) == 0))
ctr[i].valid = FALSE;
}
}
#ifdef CONFIG_IEEE80211R #ifdef CONFIG_IEEE80211R
static int ft_check_msg_2_of_4(struct wpa_authenticator *wpa_auth, static int ft_check_msg_2_of_4(struct wpa_authenticator *wpa_auth,
struct wpa_state_machine *sm, struct wpa_state_machine *sm,
@@ -781,7 +789,14 @@ void wpa_receive(struct wpa_authenticator *wpa_auth,
} }
if (sm->wpa == WPA_VERSION_WPA2) { if (sm->wpa == WPA_VERSION_WPA2) {
if (key->type != EAPOL_KEY_TYPE_RSN) { if (key->type == EAPOL_KEY_TYPE_WPA) {
/*
* Some deployed station implementations seem to send
* msg 4/4 with incorrect type value in WPA2 mode.
*/
wpa_printf(MSG_DEBUG, "Workaround: Allow EAPOL-Key "
"with unexpected WPA type in RSN mode");
} else if (key->type != EAPOL_KEY_TYPE_RSN) {
wpa_printf(MSG_DEBUG, "Ignore EAPOL-Key with " wpa_printf(MSG_DEBUG, "Ignore EAPOL-Key with "
"unexpected type %d in RSN mode", "unexpected type %d in RSN mode",
key->type); key->type);
@@ -868,11 +883,44 @@ void wpa_receive(struct wpa_authenticator *wpa_auth,
} }
if (!(key_info & WPA_KEY_INFO_REQUEST) && if (!(key_info & WPA_KEY_INFO_REQUEST) &&
!wpa_replay_counter_valid(sm, key->replay_counter)) { !wpa_replay_counter_valid(sm->key_replay, key->replay_counter)) {
int i; int i;
wpa_auth_vlogger(wpa_auth, sm->addr, LOGGER_DEBUG,
"received EAPOL-Key %s with unexpected " if (msg == PAIRWISE_2 &&
"replay counter", msgtxt); wpa_replay_counter_valid(sm->prev_key_replay,
key->replay_counter) &&
sm->wpa_ptk_state == WPA_PTK_PTKINITNEGOTIATING &&
os_memcmp(sm->SNonce, key->key_nonce, WPA_NONCE_LEN) != 0)
{
/*
* Some supplicant implementations (e.g., Windows XP
* WZC) update SNonce for each EAPOL-Key 2/4. This
* breaks the workaround on accepting any of the
* pending requests, so allow the SNonce to be updated
* even if we have already sent out EAPOL-Key 3/4.
*/
wpa_auth_vlogger(wpa_auth, sm->addr, LOGGER_DEBUG,
"Process SNonce update from STA "
"based on retransmitted EAPOL-Key "
"1/4");
sm->update_snonce = 1;
wpa_replay_counter_mark_invalid(sm->prev_key_replay,
key->replay_counter);
goto continue_processing;
}
if (msg == PAIRWISE_2 &&
wpa_replay_counter_valid(sm->prev_key_replay,
key->replay_counter) &&
sm->wpa_ptk_state == WPA_PTK_PTKINITNEGOTIATING) {
wpa_auth_vlogger(wpa_auth, sm->addr, LOGGER_DEBUG,
"ignore retransmitted EAPOL-Key %s - "
"SNonce did not change", msgtxt);
} else {
wpa_auth_vlogger(wpa_auth, sm->addr, LOGGER_DEBUG,
"received EAPOL-Key %s with "
"unexpected replay counter", msgtxt);
}
for (i = 0; i < RSNA_MAX_EAPOL_RETRIES; i++) { for (i = 0; i < RSNA_MAX_EAPOL_RETRIES; i++) {
if (!sm->key_replay[i].valid) if (!sm->key_replay[i].valid)
break; break;
@@ -885,10 +933,13 @@ void wpa_receive(struct wpa_authenticator *wpa_auth,
return; return;
} }
continue_processing:
switch (msg) { switch (msg) {
case PAIRWISE_2: case PAIRWISE_2:
if (sm->wpa_ptk_state != WPA_PTK_PTKSTART && if (sm->wpa_ptk_state != WPA_PTK_PTKSTART &&
sm->wpa_ptk_state != WPA_PTK_PTKCALCNEGOTIATING) { sm->wpa_ptk_state != WPA_PTK_PTKCALCNEGOTIATING &&
(!sm->update_snonce ||
sm->wpa_ptk_state != WPA_PTK_PTKINITNEGOTIATING)) {
wpa_auth_vlogger(wpa_auth, sm->addr, LOGGER_INFO, wpa_auth_vlogger(wpa_auth, sm->addr, LOGGER_INFO,
"received EAPOL-Key msg 2/4 in " "received EAPOL-Key msg 2/4 in "
"invalid state (%d) - dropped", "invalid state (%d) - dropped",
@@ -909,9 +960,7 @@ void wpa_receive(struct wpa_authenticator *wpa_auth,
wpa_printf(MSG_DEBUG, "WPA: Reject 4-way handshake to " wpa_printf(MSG_DEBUG, "WPA: Reject 4-way handshake to "
"collect more entropy for random number " "collect more entropy for random number "
"generation"); "generation");
sm->group->reject_4way_hs_for_entropy = FALSE;
random_mark_pool_ready(); random_mark_pool_ready();
sm->group->first_sta_seen = FALSE;
wpa_sta_disconnect(wpa_auth, sm->addr); wpa_sta_disconnect(wpa_auth, sm->addr);
return; return;
} }
@@ -1017,7 +1066,7 @@ void wpa_receive(struct wpa_authenticator *wpa_auth,
} }
sm->MICVerified = FALSE; sm->MICVerified = FALSE;
if (sm->PTK_valid) { if (sm->PTK_valid && !sm->update_snonce) {
if (wpa_verify_key_mic(&sm->PTK, data, data_len)) { if (wpa_verify_key_mic(&sm->PTK, data, data_len)) {
wpa_auth_logger(wpa_auth, sm->addr, LOGGER_INFO, wpa_auth_logger(wpa_auth, sm->addr, LOGGER_INFO,
"received EAPOL-Key with invalid MIC"); "received EAPOL-Key with invalid MIC");
@@ -1075,12 +1124,30 @@ void wpa_receive(struct wpa_authenticator *wpa_auth,
wpa_rekey_gtk(wpa_auth, NULL); wpa_rekey_gtk(wpa_auth, NULL);
} }
} else { } else {
/* Do not allow the same key replay counter to be reused. This /* Do not allow the same key replay counter to be reused. */
* does also invalidate all other pending replay counters if wpa_replay_counter_mark_invalid(sm->key_replay,
* retransmissions were used, i.e., we will only process one of key->replay_counter);
* the pending replies and ignore rest if more than one is
* received. */ if (msg == PAIRWISE_2) {
sm->key_replay[0].valid = FALSE; /*
* Maintain a copy of the pending EAPOL-Key frames in
* case the EAPOL-Key frame was retransmitted. This is
* needed to allow EAPOL-Key msg 2/4 reply to another
* pending msg 1/4 to update the SNonce to work around
* unexpected supplicant behavior.
*/
os_memcpy(sm->prev_key_replay, sm->key_replay,
sizeof(sm->key_replay));
} else {
os_memset(sm->prev_key_replay, 0,
sizeof(sm->prev_key_replay));
}
/*
* Make sure old valid counters are not accepted anymore and
* do not get copied again.
*/
wpa_replay_counter_mark_invalid(sm->key_replay, NULL);
} }
#ifdef CONFIG_PEERKEY #ifdef CONFIG_PEERKEY
@@ -1539,9 +1606,11 @@ SM_STATE(WPA_PTK, AUTHENTICATION)
} }
static void wpa_group_first_station(struct wpa_authenticator *wpa_auth, static void wpa_group_ensure_init(struct wpa_authenticator *wpa_auth,
struct wpa_group *group) struct wpa_group *group)
{ {
if (group->first_sta_seen)
return;
/* /*
* System has run bit further than at the time hostapd was started * System has run bit further than at the time hostapd was started
* potentially very early during boot up. This provides better chances * potentially very early during boot up. This provides better chances
@@ -1555,7 +1624,11 @@ static void wpa_group_first_station(struct wpa_authenticator *wpa_auth,
wpa_printf(MSG_INFO, "WPA: Not enough entropy in random pool " wpa_printf(MSG_INFO, "WPA: Not enough entropy in random pool "
"to proceed - reject first 4-way handshake"); "to proceed - reject first 4-way handshake");
group->reject_4way_hs_for_entropy = TRUE; group->reject_4way_hs_for_entropy = TRUE;
} else {
group->first_sta_seen = TRUE;
group->reject_4way_hs_for_entropy = FALSE;
} }
wpa_group_init_gmk_and_counter(wpa_auth, group); wpa_group_init_gmk_and_counter(wpa_auth, group);
wpa_gtk_update(wpa_auth, group); wpa_gtk_update(wpa_auth, group);
wpa_group_config_group_keys(wpa_auth, group); wpa_group_config_group_keys(wpa_auth, group);
@@ -1566,10 +1639,7 @@ SM_STATE(WPA_PTK, AUTHENTICATION2)
{ {
SM_ENTRY_MA(WPA_PTK, AUTHENTICATION2, wpa_ptk); SM_ENTRY_MA(WPA_PTK, AUTHENTICATION2, wpa_ptk);
if (!sm->group->first_sta_seen) { wpa_group_ensure_init(sm->wpa_auth, sm->group);
wpa_group_first_station(sm->wpa_auth, sm->group);
sm->group->first_sta_seen = TRUE;
}
os_memcpy(sm->ANonce, sm->group->Counter, WPA_NONCE_LEN); os_memcpy(sm->ANonce, sm->group->Counter, WPA_NONCE_LEN);
wpa_hexdump(MSG_DEBUG, "WPA: Assign ANonce", sm->ANonce, wpa_hexdump(MSG_DEBUG, "WPA: Assign ANonce", sm->ANonce,
@@ -1713,6 +1783,7 @@ SM_STATE(WPA_PTK, PTKCALCNEGOTIATING)
SM_ENTRY_MA(WPA_PTK, PTKCALCNEGOTIATING, wpa_ptk); SM_ENTRY_MA(WPA_PTK, PTKCALCNEGOTIATING, wpa_ptk);
sm->EAPOLKeyReceived = FALSE; sm->EAPOLKeyReceived = FALSE;
sm->update_snonce = FALSE;
/* WPA with IEEE 802.1X: use the derived PMK from EAP /* WPA with IEEE 802.1X: use the derived PMK from EAP
* WPA-PSK: iterate through possible PSKs and select the one matching * WPA-PSK: iterate through possible PSKs and select the one matching
@@ -2132,8 +2203,10 @@ SM_STEP(WPA_PTK)
SM_ENTER(WPA_PTK, PTKINITNEGOTIATING); SM_ENTER(WPA_PTK, PTKINITNEGOTIATING);
break; break;
case WPA_PTK_PTKINITNEGOTIATING: case WPA_PTK_PTKINITNEGOTIATING:
if (sm->EAPOLKeyReceived && !sm->EAPOLKeyRequest && if (sm->update_snonce)
sm->EAPOLKeyPairwise && sm->MICVerified) SM_ENTER(WPA_PTK, PTKCALCNEGOTIATING);
else if (sm->EAPOLKeyReceived && !sm->EAPOLKeyRequest &&
sm->EAPOLKeyPairwise && sm->MICVerified)
SM_ENTER(WPA_PTK, PTKINITDONE); SM_ENTER(WPA_PTK, PTKINITDONE);
else if (sm->TimeoutCtr > else if (sm->TimeoutCtr >
(int) dot11RSNAConfigPairwiseUpdateCount) { (int) dot11RSNAConfigPairwiseUpdateCount) {

View File

@@ -2,14 +2,8 @@
* hostapd - IEEE 802.11i-2004 / WPA Authenticator * hostapd - IEEE 802.11i-2004 / WPA Authenticator
* Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef WPA_AUTH_H #ifndef WPA_AUTH_H

View File

@@ -2,14 +2,8 @@
* hostapd - IEEE 802.11r - Fast BSS Transition * hostapd - IEEE 802.11r - Fast BSS Transition
* Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -2,14 +2,8 @@
* hostapd / WPA authenticator glue code * hostapd / WPA authenticator glue code
* Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2011, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -2,14 +2,8 @@
* hostapd / WPA authenticator glue code * hostapd / WPA authenticator glue code
* Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef WPA_AUTH_GLUE_H #ifndef WPA_AUTH_GLUE_H

View File

@@ -2,14 +2,8 @@
* hostapd - IEEE 802.11i-2004 / WPA Authenticator: Internal definitions * hostapd - IEEE 802.11i-2004 / WPA Authenticator: Internal definitions
* Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef WPA_AUTH_I_H #ifndef WPA_AUTH_I_H
@@ -69,10 +63,11 @@ struct wpa_state_machine {
Boolean pairwise_set; Boolean pairwise_set;
int keycount; int keycount;
Boolean Pair; Boolean Pair;
struct { struct wpa_key_replay_counter {
u8 counter[WPA_REPLAY_COUNTER_LEN]; u8 counter[WPA_REPLAY_COUNTER_LEN];
Boolean valid; Boolean valid;
} key_replay[RSNA_MAX_EAPOL_RETRIES]; } key_replay[RSNA_MAX_EAPOL_RETRIES],
prev_key_replay[RSNA_MAX_EAPOL_RETRIES];
Boolean PInitAKeys; /* WPA only, not in IEEE 802.11i */ Boolean PInitAKeys; /* WPA only, not in IEEE 802.11i */
Boolean PTKRequest; /* not in IEEE 802.11i state machine */ Boolean PTKRequest; /* not in IEEE 802.11i state machine */
Boolean has_GTK; Boolean has_GTK;
@@ -87,6 +82,7 @@ struct wpa_state_machine {
unsigned int started:1; unsigned int started:1;
unsigned int mgmt_frame_prot:1; unsigned int mgmt_frame_prot:1;
unsigned int rx_eapol_key_secure:1; unsigned int rx_eapol_key_secure:1;
unsigned int update_snonce:1;
#ifdef CONFIG_IEEE80211R #ifdef CONFIG_IEEE80211R
unsigned int ft_completed:1; unsigned int ft_completed:1;
unsigned int pmk_r1_name_valid:1; unsigned int pmk_r1_name_valid:1;

View File

@@ -2,14 +2,8 @@
* hostapd - WPA/RSN IE and KDE definitions * hostapd - WPA/RSN IE and KDE definitions
* Copyright (c) 2004-2008, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2008, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"

View File

@@ -2,14 +2,8 @@
* hostapd - WPA/RSN IE and KDE definitions * hostapd - WPA/RSN IE and KDE definitions
* Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef WPA_AUTH_IE_H #ifndef WPA_AUTH_IE_H

View File

@@ -2,14 +2,8 @@
* hostapd / WPS integration * hostapd / WPS integration
* Copyright (c) 2008-2010, Jouni Malinen <j@w1.fi> * Copyright (c) 2008-2010, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "utils/includes.h" #include "utils/includes.h"
@@ -512,6 +506,8 @@ static void hostapd_wps_reenable_ap_pin(void *eloop_data, void *user_ctx)
if (hapd->conf->ap_setup_locked) if (hapd->conf->ap_setup_locked)
return; return;
if (hapd->ap_pin_failures_consecutive >= 10)
return;
wpa_printf(MSG_DEBUG, "WPS: Re-enable AP PIN"); wpa_printf(MSG_DEBUG, "WPS: Re-enable AP PIN");
wpa_msg(hapd->msg_ctx, MSG_INFO, WPS_EVENT_AP_SETUP_UNLOCKED); wpa_msg(hapd->msg_ctx, MSG_INFO, WPS_EVENT_AP_SETUP_UNLOCKED);
@@ -533,8 +529,10 @@ static int wps_pwd_auth_fail(struct hostapd_data *hapd, void *ctx)
* force attacks. * force attacks.
*/ */
hapd->ap_pin_failures++; hapd->ap_pin_failures++;
wpa_printf(MSG_DEBUG, "WPS: AP PIN authentication failure number %u", hapd->ap_pin_failures_consecutive++;
hapd->ap_pin_failures); wpa_printf(MSG_DEBUG, "WPS: AP PIN authentication failure number %u "
"(%u consecutive)",
hapd->ap_pin_failures, hapd->ap_pin_failures_consecutive);
if (hapd->ap_pin_failures < 3) if (hapd->ap_pin_failures < 3)
return 0; return 0;
@@ -543,7 +541,15 @@ static int wps_pwd_auth_fail(struct hostapd_data *hapd, void *ctx)
wps_registrar_update_ie(hapd->wps->registrar); wps_registrar_update_ie(hapd->wps->registrar);
if (!hapd->conf->ap_setup_locked) { if (!hapd->conf->ap_setup_locked &&
hapd->ap_pin_failures_consecutive >= 10) {
/*
* In indefinite lockdown - disable automatic AP PIN
* reenablement.
*/
eloop_cancel_timeout(hostapd_wps_reenable_ap_pin, hapd, NULL);
wpa_printf(MSG_DEBUG, "WPS: AP PIN disabled indefinitely");
} else if (!hapd->conf->ap_setup_locked) {
if (hapd->ap_pin_lockout_time == 0) if (hapd->ap_pin_lockout_time == 0)
hapd->ap_pin_lockout_time = 60; hapd->ap_pin_lockout_time = 60;
else if (hapd->ap_pin_lockout_time < 365 * 24 * 60 * 60 && else if (hapd->ap_pin_lockout_time < 365 * 24 * 60 * 60 &&
@@ -569,6 +575,29 @@ static void hostapd_pwd_auth_fail(struct hostapd_data *hapd,
} }
static int wps_ap_pin_success(struct hostapd_data *hapd, void *ctx)
{
if (hapd->conf->ap_pin == NULL || hapd->wps == NULL)
return 0;
if (hapd->ap_pin_failures_consecutive == 0)
return 0;
wpa_printf(MSG_DEBUG, "WPS: Clear consecutive AP PIN failure counter "
"- total validation failures %u (%u consecutive)",
hapd->ap_pin_failures, hapd->ap_pin_failures_consecutive);
hapd->ap_pin_failures_consecutive = 0;
return 0;
}
static void hostapd_wps_ap_pin_success(struct hostapd_data *hapd)
{
hostapd_wps_for_each(hapd, wps_ap_pin_success, NULL);
}
static const char * wps_event_fail_reason[NUM_WPS_EI_VALUES] = { static const char * wps_event_fail_reason[NUM_WPS_EI_VALUES] = {
"No Error", /* WPS_EI_NO_ERROR */ "No Error", /* WPS_EI_NO_ERROR */
"TKIP Only Prohibited", /* WPS_EI_SECURITY_TKIP_ONLY_PROHIBITED */ "TKIP Only Prohibited", /* WPS_EI_SECURITY_TKIP_ONLY_PROHIBITED */
@@ -628,6 +657,9 @@ static void hostapd_wps_event_cb(void *ctx, enum wps_event event,
break; break;
case WPS_EV_ER_SET_SELECTED_REGISTRAR: case WPS_EV_ER_SET_SELECTED_REGISTRAR:
break; break;
case WPS_EV_AP_PIN_SUCCESS:
hostapd_wps_ap_pin_success(hapd);
break;
} }
if (hapd->wps_event_cb) if (hapd->wps_event_cb)
hapd->wps_event_cb(hapd->wps_event_cb_ctx, event, data); hapd->wps_event_cb(hapd->wps_event_cb_ctx, event, data);
@@ -1293,6 +1325,7 @@ static void hostapd_wps_ap_pin_enable(struct hostapd_data *hapd, int timeout)
{ {
wpa_printf(MSG_DEBUG, "WPS: Enabling AP PIN (timeout=%d)", timeout); wpa_printf(MSG_DEBUG, "WPS: Enabling AP PIN (timeout=%d)", timeout);
hapd->ap_pin_failures = 0; hapd->ap_pin_failures = 0;
hapd->ap_pin_failures_consecutive = 0;
hapd->conf->ap_setup_locked = 0; hapd->conf->ap_setup_locked = 0;
if (hapd->wps->ap_setup_locked) { if (hapd->wps->ap_setup_locked) {
wpa_msg(hapd->msg_ctx, MSG_INFO, WPS_EVENT_AP_SETUP_UNLOCKED); wpa_msg(hapd->msg_ctx, MSG_INFO, WPS_EVENT_AP_SETUP_UNLOCKED);

View File

@@ -2,14 +2,8 @@
* hostapd / WPS integration * hostapd / WPS integration
* Copyright (c) 2008-2010, Jouni Malinen <j@w1.fi> * Copyright (c) 2008-2010, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef WPS_HOSTAPD_H #ifndef WPS_HOSTAPD_H

View File

@@ -2,14 +2,8 @@
* WPA Supplicant - Common definitions * WPA Supplicant - Common definitions
* Copyright (c) 2004-2008, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2008, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef DEFS_H #ifndef DEFS_H

View File

@@ -2,14 +2,8 @@
* EAPOL definitions shared between hostapd and wpa_supplicant * EAPOL definitions shared between hostapd and wpa_supplicant
* Copyright (c) 2002-2007, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2007, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef EAPOL_COMMON_H #ifndef EAPOL_COMMON_H

View File

@@ -3,14 +3,8 @@
* Copyright (c) 2009, Atheros Communications * Copyright (c) 2009, Atheros Communications
* Copyright (c) 2011, Qualcomm Atheros * Copyright (c) 2011, Qualcomm Atheros
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -3,14 +3,8 @@
* Copyright (c) 2009, Atheros Communications * Copyright (c) 2009, Atheros Communications
* Copyright (c) 2011, Qualcomm Atheros * Copyright (c) 2011, Qualcomm Atheros
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef GAS_H #ifndef GAS_H

View File

@@ -2,14 +2,8 @@
* IEEE 802.11 Common routines * IEEE 802.11 Common routines
* Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -2,14 +2,8 @@
* IEEE 802.11 Common routines * IEEE 802.11 Common routines
* Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef IEEE802_11_COMMON_H #ifndef IEEE802_11_COMMON_H

View File

@@ -3,14 +3,8 @@
* Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi>
* Copyright (c) 2007-2008 Intel Corporation * Copyright (c) 2007-2008 Intel Corporation
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef IEEE802_11_DEFS_H #ifndef IEEE802_11_DEFS_H
@@ -519,6 +513,9 @@ struct ieee80211_mgmt {
} STRUCT_PACKED; } STRUCT_PACKED;
/* Rx MCS bitmask is in the first 77 bits of supported_mcs_set */
#define IEEE80211_HT_MCS_MASK_LEN 10
struct ieee80211_ht_capabilities { struct ieee80211_ht_capabilities {
le16 ht_capabilities_info; le16 ht_capabilities_info;
u8 a_mpdu_params; u8 a_mpdu_params;

View File

@@ -2,14 +2,8 @@
* WPA Supplicant - privilege separation commands * WPA Supplicant - privilege separation commands
* Copyright (c) 2007-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2007-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef PRIVSEP_COMMANDS_H #ifndef PRIVSEP_COMMANDS_H

View File

@@ -2,14 +2,8 @@
* WPA/RSN - Shared functions for supplicant and authenticator * WPA/RSN - Shared functions for supplicant and authenticator
* Copyright (c) 2002-2008, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2008, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -2,14 +2,8 @@
* WPA definitions shared between hostapd and wpa_supplicant * WPA definitions shared between hostapd and wpa_supplicant
* Copyright (c) 2002-2008, Jouni Malinen <j@w1.fi> * Copyright (c) 2002-2008, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef WPA_COMMON_H #ifndef WPA_COMMON_H

View File

@@ -2,14 +2,8 @@
* wpa_supplicant/hostapd control interface library * wpa_supplicant/hostapd control interface library
* Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

14
src/common/wpa_ctrl.h Executable file → Normal file
View File

@@ -2,14 +2,8 @@
* wpa_supplicant/hostapd control interface library * wpa_supplicant/hostapd control interface library
* Copyright (c) 2004-2006, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2006, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef WPA_CTRL_H #ifndef WPA_CTRL_H
@@ -62,6 +56,10 @@ extern "C" {
#define WPA_EVENT_BSS_ADDED "CTRL-EVENT-BSS-ADDED " #define WPA_EVENT_BSS_ADDED "CTRL-EVENT-BSS-ADDED "
/** A BSS entry was removed (followed by BSS entry id and BSSID) */ /** A BSS entry was removed (followed by BSS entry id and BSSID) */
#define WPA_EVENT_BSS_REMOVED "CTRL-EVENT-BSS-REMOVED " #define WPA_EVENT_BSS_REMOVED "CTRL-EVENT-BSS-REMOVED "
#ifdef ANDROID_P2P
/** Notify the Userspace about the freq conflict */
#define WPA_EVENT_FREQ_CONFLICT "CTRL-EVENT-FREQ-CONFLICT "
#endif
/** WPS overlap detected in PBC mode */ /** WPS overlap detected in PBC mode */
#define WPS_EVENT_OVERLAP "WPS-OVERLAP-DETECTED " #define WPS_EVENT_OVERLAP "WPS-OVERLAP-DETECTED "

View File

@@ -3,14 +3,8 @@
* *
* Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -3,14 +3,8 @@
* *
* Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -3,14 +3,8 @@
* *
* Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -3,14 +3,8 @@
* *
* Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -11,14 +11,8 @@
* *
* Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -11,14 +11,8 @@
* *
* Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -11,14 +11,8 @@
* *
* Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -3,14 +3,8 @@
* *
* Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -3,14 +3,8 @@
* *
* Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -3,14 +3,8 @@
* *
* Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -2,14 +2,8 @@
* AES functions * AES functions
* Copyright (c) 2003-2006, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2006, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef AES_H #ifndef AES_H

View File

@@ -2,14 +2,8 @@
* AES (Rijndael) cipher * AES (Rijndael) cipher
* Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef AES_I_H #ifndef AES_I_H

View File

@@ -9,14 +9,8 @@
* *
* Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi> * Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#ifndef AES_WRAP_H #ifndef AES_WRAP_H

View File

@@ -2,14 +2,8 @@
* WPA Supplicant / wrapper functions for crypto libraries * WPA Supplicant / wrapper functions for crypto libraries
* Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
* *
* This file defines the cryptographic functions that need to be implemented * This file defines the cryptographic functions that need to be implemented
* for wpa_supplicant and hostapd. When TLS is not used, internal * for wpa_supplicant and hostapd. When TLS is not used, internal

View File

@@ -2,14 +2,8 @@
* Crypto wrapper for Microsoft CryptoAPI * Crypto wrapper for Microsoft CryptoAPI
* Copyright (c) 2005-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2005-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -2,14 +2,8 @@
* WPA Supplicant / wrapper functions for libgcrypt * WPA Supplicant / wrapper functions for libgcrypt
* Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -2,14 +2,8 @@
* Crypto wrapper for internal crypto implementation - Cipher wrappers * Crypto wrapper for internal crypto implementation - Cipher wrappers
* Copyright (c) 2006-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2006-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -2,14 +2,8 @@
* Crypto wrapper for internal crypto implementation - modexp * Crypto wrapper for internal crypto implementation - modexp
* Copyright (c) 2006-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2006-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -2,14 +2,8 @@
* Crypto wrapper for internal crypto implementation - RSA parts * Crypto wrapper for internal crypto implementation - RSA parts
* Copyright (c) 2006-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2006-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -2,14 +2,8 @@
* Crypto wrapper for internal crypto implementation * Crypto wrapper for internal crypto implementation
* Copyright (c) 2006-2011, Jouni Malinen <j@w1.fi> * Copyright (c) 2006-2011, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -2,14 +2,8 @@
* WPA Supplicant / Crypto wrapper for LibTomCrypt (for internal TLSv1) * WPA Supplicant / Crypto wrapper for LibTomCrypt (for internal TLSv1)
* Copyright (c) 2005-2006, Jouni Malinen <j@w1.fi> * Copyright (c) 2005-2006, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -2,14 +2,8 @@
* WPA Supplicant / Empty template functions for crypto wrapper * WPA Supplicant / Empty template functions for crypto wrapper
* Copyright (c) 2005, Jouni Malinen <j@w1.fi> * Copyright (c) 2005, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -2,14 +2,8 @@
* Crypto wrapper functions for NSS * Crypto wrapper functions for NSS
* Copyright (c) 2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -2,14 +2,8 @@
* WPA Supplicant / wrapper functions for libcrypto * WPA Supplicant / wrapper functions for libcrypto
* Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2004-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

View File

@@ -4,14 +4,8 @@
* Modifications to LibTomCrypt implementation: * Modifications to LibTomCrypt implementation:
* Copyright (c) 2006-2009, Jouni Malinen <j@w1.fi> * Copyright (c) 2006-2009, Jouni Malinen <j@w1.fi>
* *
* This program is free software; you can redistribute it and/or modify * This software may be distributed under the terms of the BSD license.
* it under the terms of the GNU General Public License version 2 as * See README for more details.
* published by the Free Software Foundation.
*
* Alternatively, this software may be distributed under the terms of BSD
* license.
*
* See README and COPYING for more details.
*/ */
#include "includes.h" #include "includes.h"

Some files were not shown because too many files have changed in this diff Show More