PERFORCE change 123316 for review
Xin LI
delphij at FreeBSD.org
Wed Jul 11 12:06:22 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=123316
Change 123316 by delphij at charlie on 2007/07/11 12:05:39
IFC
Affected files ...
.. //depot/projects/delphij_fork/Makefile.inc1#3 integrate
.. //depot/projects/delphij_fork/UPDATING#3 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/COPYING#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/ChangeLog#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/FREEBSD-Xlist#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/FREEBSD-upgrade#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/Makefile#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/README#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/accounting.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/accounting.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/aes.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/aes.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/aes_wrap.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/aes_wrap.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/ap.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/ap_list.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/ap_list.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/beacon.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/beacon.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/build_config.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/common.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/common.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/config.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/config.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/config_types.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/crypto.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/crypto.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/ctrl_iface.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/ctrl_iface.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/defconfig#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/defs.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/des.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/doc/code_structure.doxygen#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/doc/ctrl_iface.doxygen#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/doc/doxygen.fast#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/doc/doxygen.full#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/doc/driver_wrapper.doxygen#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/doc/eap.doxygen#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/doc/hostapd.fig#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/doc/kerneldoc2doxygen.pl#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/doc/mainpage.doxygen#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/doc/porting.doxygen#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/driver.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/driver_test.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/driver_wired.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_aka.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/eap_defs.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_gpsk.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/eap_gpsk_common.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/eap_gpsk_common.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/eap_gtc.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_i.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_identity.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_md5.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_methods.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/eap_methods.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/eap_mschapv2.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_pax.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_pax_common.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_pax_common.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_peap.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_psk.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_psk_common.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_psk_common.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_sake.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/eap_sake_common.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/eap_sake_common.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/eap_sim.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_sim_common.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_sim_common.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_sim_db.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_sim_db.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_tls.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_tls_common.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_tls_common.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_tlv.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_ttls.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_ttls.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eap_vendor_test.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/eapol_sm.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eapol_sm.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eapol_version.patch#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/eloop.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eloop.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/eloop_none.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/eloop_win.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/hlr_auc_gw.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/hlr_auc_gw.milenage_db#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/hostap_common.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/hostapd.8#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/hostapd.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/hostapd.conf#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/hostapd.eap_user#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/hostapd.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/hostapd.vlan#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/hostapd_cli.1#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/hostapd_cli.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/hw_features.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/hw_features.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/iapp.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/iapp.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/ieee802_11.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/ieee802_11.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/ieee802_11_auth.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/ieee802_11_auth.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/ieee802_11h.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/ieee802_11h.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/ieee802_1x.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/ieee802_1x.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/includes.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/l2_packet.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/l2_packet_none.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/md4.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/md5.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/md5.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/milenage.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/milenage.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/mlme.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/mlme.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/ms_funcs.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/ms_funcs.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/os.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/os_internal.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/os_none.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/os_unix.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/pmksa_cache.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/pmksa_cache.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/preauth.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/preauth.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/radius.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/radius.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/radius_client.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/radius_client.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/radius_server.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/radius_server.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/rc4.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/rc4.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/reconfig.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/sha1.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/sha1.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/sha256.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/sha256.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/sta_info.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/sta_info.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/state_machine.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/tls.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/tls_gnutls.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/tls_none.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/tls_openssl.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/version.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/vlan_init.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/vlan_init.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/wme.c#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/wme.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/wpa.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/wpa.h#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/wpa_common.h#1 branch
.. //depot/projects/delphij_fork/contrib/hostapd/wpa_ctrl.c#2 integrate
.. //depot/projects/delphij_fork/contrib/hostapd/wpa_ctrl.h#2 integrate
.. //depot/projects/delphij_fork/release/doc/en_US.ISO8859-1/relnotes/article.sgml#2 integrate
.. //depot/projects/delphij_fork/sbin/ifconfig/ifconfig.8#2 integrate
.. //depot/projects/delphij_fork/share/man/man4/wi.4#2 integrate
.. //depot/projects/delphij_fork/share/man/man9/taskqueue.9#2 integrate
.. //depot/projects/delphij_fork/sys/conf/NOTES#3 integrate
.. //depot/projects/delphij_fork/sys/conf/kmod.mk#2 integrate
.. //depot/projects/delphij_fork/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#2 integrate
.. //depot/projects/delphij_fork/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#2 integrate
.. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_adapter.h#2 integrate
.. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_main.c#2 integrate
.. //depot/projects/delphij_fork/sys/dev/cxgb/cxgb_sge.c#2 integrate
.. //depot/projects/delphij_fork/sys/dev/ed/if_ed_pccard.c#2 integrate
.. //depot/projects/delphij_fork/sys/dev/firewire/firewire.c#2 integrate
.. //depot/projects/delphij_fork/sys/dev/isp/isp.c#2 integrate
.. //depot/projects/delphij_fork/sys/dev/isp/isp_freebsd.c#2 integrate
.. //depot/projects/delphij_fork/sys/dev/pccard/pccarddevs#2 integrate
.. //depot/projects/delphij_fork/sys/dev/sound/pci/atiixp.c#2 integrate
.. //depot/projects/delphij_fork/sys/dev/sound/pci/hda/hdac.c#2 integrate
.. //depot/projects/delphij_fork/sys/dev/sound/pci/hda/hdac_private.h#2 integrate
.. //depot/projects/delphij_fork/sys/dev/usb/if_rue.c#2 integrate
.. //depot/projects/delphij_fork/sys/dev/usb/if_ruereg.h#2 integrate
.. //depot/projects/delphij_fork/sys/dev/usb/usb_quirks.c#2 integrate
.. //depot/projects/delphij_fork/sys/dev/usb/usbdevs#3 integrate
.. //depot/projects/delphij_fork/sys/fs/msdosfs/msdosfs_fat.c#2 integrate
.. //depot/projects/delphij_fork/sys/fs/msdosfs/msdosfsmount.h#2 integrate
.. //depot/projects/delphij_fork/sys/fs/tmpfs/tmpfs.h#2 integrate
.. //depot/projects/delphij_fork/sys/fs/tmpfs/tmpfs_subr.c#2 integrate
.. //depot/projects/delphij_fork/sys/fs/tmpfs/tmpfs_vfsops.c#2 integrate
.. //depot/projects/delphij_fork/sys/fs/tmpfs/tmpfs_vnops.c#2 integrate
.. //depot/projects/delphij_fork/sys/i386/i386/sys_machdep.c#3 integrate
.. //depot/projects/delphij_fork/sys/ia64/isa/isa_dma.c#2 integrate
.. //depot/projects/delphij_fork/sys/modules/netgraph/bluetooth/Makefile#2 integrate
.. //depot/projects/delphij_fork/sys/netgraph/bluetooth/drivers/h4/ng_h4.c#2 integrate
.. //depot/projects/delphij_fork/sys/netinet/in_mcast.c#2 integrate
.. //depot/projects/delphij_fork/sys/netinet/udp_usrreq.c#3 integrate
.. //depot/projects/delphij_fork/sys/netinet/udp_var.h#2 integrate
.. //depot/projects/delphij_fork/sys/netinet6/udp6_output.c#3 integrate
.. //depot/projects/delphij_fork/sys/netinet6/udp6_usrreq.c#3 integrate
.. //depot/projects/delphij_fork/sys/netinet6/udp6_var.h#2 integrate
.. //depot/projects/delphij_fork/sys/netsmb/smb_dev.c#2 integrate
.. //depot/projects/delphij_fork/sys/powerpc/include/atomic.h#2 integrate
.. //depot/projects/delphij_fork/sys/vm/vm_fault.c#3 integrate
.. //depot/projects/delphij_fork/sys/vm/vm_page.c#2 integrate
.. //depot/projects/delphij_fork/tools/kerneldoc/subsys/Makefile#2 integrate
.. //depot/projects/delphij_fork/tools/tools/mfc/mfc.pl#2 integrate
.. //depot/projects/delphij_fork/usr.bin/kdump/kdump.c#3 integrate
.. //depot/projects/delphij_fork/usr.sbin/wpa/hostapd/Makefile#2 integrate
.. //depot/projects/delphij_fork/usr.sbin/wpa/hostapd/driver_freebsd.c#2 integrate
.. //depot/projects/delphij_fork/usr.sbin/wpa/hostapd_cli/Makefile#2 integrate
.. //depot/projects/delphij_fork/usr.sbin/wpa/l2_packet.c#2 integrate
.. //depot/user/howardsu/truss/sys/fs/tmpfs/tmpfs_vfsops.c#39 edit
Differences ...
==== //depot/projects/delphij_fork/Makefile.inc1#3 (text+ko) ====
@@ -1,5 +1,5 @@
#
-# $FreeBSD: src/Makefile.inc1,v 1.582 2007/05/26 20:17:19 ru Exp $
+# $FreeBSD: src/Makefile.inc1,v 1.584 2007/07/10 10:19:45 delphij Exp $
#
# Make command line options:
# -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir
@@ -978,6 +978,7 @@
.for _tool in \
gnu/usr.bin/binutils \
gnu/usr.bin/cc \
+ usr.bin/sed \
usr.bin/xlint/lint1 usr.bin/xlint/lint2 usr.bin/xlint/xlint \
${_btxld} \
${_crunchide} \
==== //depot/projects/delphij_fork/UPDATING#3 (text+ko) ====
@@ -46,7 +46,7 @@
cards should be configured using ifconfig(8), see the man page for more
information.
-20060612:
+20070612:
The i386/amd64 GENERIC kernel now defaults to the nfe(4) driver
instead of the nve(4) driver. Please update your configuration
accordingly.
@@ -887,4 +887,4 @@
Contact Warner Losh if you have any questions about your use of
this document.
-$FreeBSD: src/UPDATING,v 1.502 2007/07/06 06:35:50 yongari Exp $
+$FreeBSD: src/UPDATING,v 1.503 2007/07/09 01:13:00 yongari Exp $
==== //depot/projects/delphij_fork/contrib/hostapd/COPYING#2 (text+ko) ====
@@ -2,7 +2,7 @@
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -305,7 +305,7 @@
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
==== //depot/projects/delphij_fork/contrib/hostapd/ChangeLog#2 (text+ko) ====
@@ -1,9 +1,136 @@
ChangeLog for hostapd
-2006-02-08 - v0.4.8
+2007-05-28 - v0.5.8
+ * updated driver_devicescape.c to build with the current
+ wireless-dev.git tree and net/d80211 changes
+ * updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest
+ draft (draft-ietf-emu-eap-gpsk-03.txt)
+ * fixed EAP-MSCHAPv2 server to use a space between S and M parameters
+ in Success Request [Bug 203]
+ * added support for sending EAP-AKA Notifications in error cases
+ * RADIUS server: added support for processing duplicate messages
+ (retransmissions from RADIUS client) by replying with the previous
+ reply
+
+2006-12-31 - v0.5.7
+ * updated EAP-SAKE to RFC 4763 and the IANA-allocated EAP type 48
+ * updated EAP-PSK to use the IANA-allocated EAP type 47
+ * fixed EAP-PSK bit ordering of the Flags field
+ * fixed configuration reloading (SIGHUP) to re-initialize WPA PSKs
+ by reading wpa_psk_file [Bug 181]
+ * fixed EAP-TTLS AVP parser processing for too short AVP lengths
+ * fixed IPv6 connection to RADIUS accounting server
+
+2006-11-24 - v0.5.6
+ * added support for configuring and controlling multiple BSSes per
+ radio interface (bss=<ifname> in hostapd.conf); this is only
+ available with Devicescape and test driver interfaces
+ * fixed PMKSA cache update in the end of successful RSN
+ pre-authentication
+ * added support for dynamic VLAN configuration (i.e., selecting VLAN-ID
+ for each STA based on RADIUS Access-Accept attributes); this requires
+ VLAN support from the kernel driver/802.11 stack and this is
+ currently only available with Devicescape and test driver interfaces
+ * driver_madwifi: fixed configuration of unencrypted modes (plaintext
+ and IEEE 802.1X without WEP)
+ * removed STAKey handshake since PeerKey handshake has replaced it in
+ IEEE 802.11ma and there are no known deployments of STAKey
+ * updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest
+ draft (draft-ietf-emu-eap-gpsk-01.txt)
+ * added preliminary implementation of IEEE 802.11w/D1.0 (management
+ frame protection)
+ (Note: this requires driver support to work properly.)
+ (Note2: IEEE 802.11w is an unapproved draft and subject to change.)
+ * hlr_auc_gw: added support for GSM-Milenage (for EAP-SIM)
+ * hlr_auc_gw: added support for reading per-IMSI Milenage keys and
+ parameters from a text file to make it possible to implement proper
+ GSM/UMTS authentication server for multiple SIM/USIM cards using
+ EAP-SIM/EAP-AKA
+ * fixed session timeout processing with drivers that do not use
+ ieee802_11.c (e.g., madwifi)
+
+2006-08-27 - v0.5.5
+ * added 'hostapd_cli new_sta <addr>' command for adding a new STA into
+ hostapd (e.g., to initialize wired network authentication based on an
+ external signal)
+ * fixed hostapd to add PMKID KDE into 4-Way Handshake Message 1 when
+ using WPA2 even if PMKSA caching is not used
+ * added -P<pid file> argument for hostapd to write the current process
+ id into a file
+ * added support for RADIUS Authentication Server MIB (RFC 2619)
+
+2006-06-20 - v0.5.4
+ * fixed nt_password_hash build [Bug 144]
+ * added PeerKey handshake implementation for IEEE 802.11e
+ direct link setup (DLS) to replace STAKey handshake
+ * added support for EAP Generalized Pre-Shared Key (EAP-GPSK,
+ draft-clancy-emu-eap-shared-secret-00.txt)
+ * fixed a segmentation fault when RSN pre-authentication was completed
+ successfully [Bug 152]
+
+2006-04-27 - v0.5.3
+ * do not build nt_password_hash and hlr_auc_gw by default to avoid
+ requiring a TLS library for a successful build; these programs can be
+ build with 'make nt_password_hash' and 'make hlr_auc_gw'
+ * added a new configuration option, eapol_version, that can be used to
+ set EAPOL version to 1 (default is 2) to work around broken client
+ implementations that drop EAPOL frames which use version number 2
+ [Bug 89]
+ * added support for EAP-SAKE (no EAP method number allocated yet, so
+ this is using the same experimental type 255 as EAP-PSK)
+ * fixed EAP-MSCHAPv2 message length validation
+
+2006-03-19 - v0.5.2
* fixed stdarg use in hostapd_logger(): if both stdout and syslog
logging was enabled, hostapd could trigger a segmentation fault in
vsyslog on some CPU -- C library combinations
+ * moved HLR/AuC gateway implementation for EAP-SIM/AKA into an external
+ program to make it easier to use for implementing real SS7 gateway;
+ eap_sim_db is not anymore used as a file name for GSM authentication
+ triplets; instead, it is path to UNIX domain socket that will be used
+ to communicate with the external gateway program (e.g., hlr_auc_gw)
+ * added example HLR/AuC gateway implementation, hlr_auc_gw, that uses
+ local information (GSM authentication triplets from a text file and
+ hardcoded AKA authentication data); this can be used to test EAP-SIM
+ and EAP-AKA
+ * added Milenage algorithm (example 3GPP AKA algorithm) to hlr_auc_gw
+ to make it possible to test EAP-AKA with real USIM cards (this is
+ disabled by default; define AKA_USE_MILENAGE when building hlr_auc_gw
+ to enable this)
+ * driver_madwifi: added support for getting station RSN IE from
+ madwifi-ng svn r1453 and newer; this fixes RSN that was apparently
+ broken with earlier change (r1357) in the driver
+ * changed EAP method registration to use a dynamic list of methods
+ instead of a static list generated at build time
+ * fixed WPA message 3/4 not to encrypt Key Data field (WPA IE)
+ [Bug 125]
+ * added ap_max_inactivity configuration parameter
+
+2006-01-29 - v0.5.1
+ * driver_test: added better support for multiple APs and STAs by using
+ a directory with sockets that include MAC address for each device in
+ the name (test_socket=DIR:/tmp/test)
+ * added support for EAP expanded type (vendor specific EAP methods)
+
+2005-12-18 - v0.5.0 (beginning of 0.5.x development releases)
+ * added experimental STAKey handshake implementation for IEEE 802.11e
+ direct link setup (DLS); note: this is disabled by default in both
+ build and runtime configuration (can be enabled with CONFIG_STAKEY=y
+ and stakey=1)
+ * added support for EAP methods to use callbacks to external programs
+ by buffering a pending request and processing it after the EAP method
+ is ready to continue
+ * improved EAP-SIM database interface to allow external request to GSM
+ HLR/AuC without blocking hostapd process
+ * added support for using EAP-SIM pseudonyms and fast re-authentication
+ * added support for EAP-AKA in the integrated EAP authenticator
+ * added support for matching EAP identity prefixes (e.g., "1"*) in EAP
+ user database to allow EAP-SIM/AKA selection without extra roundtrip
+ for EAP-Nak negotiation
+ * added support for storing EAP user password as NtPasswordHash instead
+ of plaintext password when using MSCHAP or MSCHAPv2 for
+ authentication (hash:<16-octet hex value>); added nt_password_hash
+ tool for hashing password to generate NtPasswordHash
2005-11-20 - v0.4.7 (beginning of 0.4.x stable releases)
* driver_wired: fixed EAPOL sending to optionally use PAE group address
==== //depot/projects/delphij_fork/contrib/hostapd/FREEBSD-Xlist#2 (text+ko) ====
@@ -1,12 +1,17 @@
-$FreeBSD: src/contrib/hostapd/FREEBSD-Xlist,v 1.2 2006/03/07 05:51:52 sam Exp $
+$FreeBSD: src/contrib/hostapd/FREEBSD-Xlist,v 1.3 2007/07/09 16:24:41 sam Exp $
.cvsignore
driver.c
driver_bsd.c
+driver_devicescape.c
driver_madwifi.c
driver_prism54.c
l2_packet_freebsd.c
l2_packet_linux.c
+l2_packet_ndis.c
l2_packet_pcap.c
+l2_packet_winpcap.c
+nt_password_hash.c
+os_win32.c
prism54.h
priv_netlink.h
wireless_copy.h
==== //depot/projects/delphij_fork/contrib/hostapd/FREEBSD-upgrade#2 (text+ko) ====
@@ -1,4 +1,4 @@
-$FreeBSD: src/contrib/hostapd/FREEBSD-upgrade,v 1.2 2006/03/07 05:51:52 sam Exp $
+$FreeBSD: src/contrib/hostapd/FREEBSD-upgrade,v 1.3 2007/07/09 16:24:41 sam Exp $
WPA/802.1x Authenticator
originals can be found at: http://hostap.epitest.fi/releases/
@@ -6,12 +6,12 @@
For the import files and directories were pruned by:
- tar -X FREEBSD-Xlist -zxf hostapd-0.4.8.tar.gz
+ tar -X FREEBSD-Xlist -zxf hostapd-0.5.8.tar.gz
then imported by:
- cvs import -m 'Import of hostapd 0.4.8' \
- src/contrib/hostapd MALINEN v0_4_8
+ cvs import -m 'Import of hostapd 0.5.8' \
+ src/contrib/hostapd MALINEN v0_5_8
To make local changes to hostapd, simply patch and commit to the
main branch (aka HEAD). Never make local changes on the vendor
@@ -21,4 +21,4 @@
the next vendor release.
sam at FreeBSD.org
-6-March-2006
+7-July-2007
==== //depot/projects/delphij_fork/contrib/hostapd/Makefile#2 (text+ko) ====
@@ -1,6 +1,5 @@
CC=gcc
DIR_WPA_SUPPLICANT=.
-DIR_HOSTAP=.
ifndef CFLAGS
CFLAGS = -MMD -O2 -Wall -g
@@ -11,18 +10,41 @@
CFLAGS += -DHOSTAPD_DUMP_STATE
# Include directories for CVS version
-CFLAGS += -I. -I$(DIR_HOSTAP) -I../utils -I$(DIR_WPA_SUPPLICANT)
+CFLAGS += -I. -I../utils -I$(DIR_WPA_SUPPLICANT)
# Uncomment following line and set the path to your kernel tree include
# directory if your C library does not include all header files.
# CFLAGS += -DUSE_KERNEL_HEADERS -I/usr/src/linux/include
-OBJS = hostapd.o eloop.o ieee802_1x.o eapol_sm.o radius.o md5.o rc4.o \
+-include .config
+
+ifndef CONFIG_OS
+ifdef CONFIG_NATIVE_WINDOWS
+CONFIG_OS=win32
+else
+CONFIG_OS=unix
+endif
+endif
+
+ifeq ($(CONFIG_OS), internal)
+CFLAGS += -DOS_NO_C_LIB_DEFINES
+endif
+
+ifdef CONFIG_NATIVE_WINDOWS
+CFLAGS += -DCONFIG_NATIVE_WINDOWS
+LIBS += -lws2_32
+endif
+
+OBJS = hostapd.o eloop.o ieee802_1x.o eapol_sm.o radius.o md5.o rc4.o md4.o \
common.o ieee802_11.o config.o ieee802_11_auth.o accounting.o \
sta_info.o radius_client.o sha1.o wpa.o aes_wrap.o ctrl_iface.o \
- driver_conf.o
+ driver_conf.o os_$(CONFIG_OS).o preauth.o pmksa_cache.o beacon.o \
+ hw_features.o wme.o ap_list.o reconfig.o \
+ mlme.o vlan_init.o ieee802_11h.o
+
+HOBJS=hlr_auc_gw.o common.o os_$(CONFIG_OS).o milenage.o aes_wrap.o
--include .config
+CFLAGS += -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX
ifdef CONFIG_IAPP
CFLAGS += -DCONFIG_IAPP
@@ -34,6 +56,15 @@
CONFIG_L2_PACKET=y
endif
+ifdef CONFIG_PEERKEY
+CFLAGS += -DCONFIG_PEERKEY
+endif
+
+ifdef CONFIG_IEEE80211W
+CFLAGS += -DCONFIG_IEEE80211W
+NEED_SHA256=y
+endif
+
ifdef CONFIG_DRIVER_HOSTAP
CFLAGS += -DCONFIG_DRIVER_HOSTAP
OBJS += driver.o
@@ -55,6 +86,11 @@
OBJS += driver_prism54.o
endif
+ifdef CONFIG_DRIVER_DEVICESCAPE
+CFLAGS += -DCONFIG_DRIVER_DEVICESCAPE
+OBJS += driver_devicescape.o
+endif
+
ifdef CONFIG_DRIVER_BSD
CFLAGS += -DCONFIG_DRIVER_BSD
OBJS += driver_bsd.o
@@ -70,7 +106,6 @@
ifdef CONFIG_L2_PACKET
ifdef CONFIG_DNET_PCAP
-CFLAGS += -DUSE_DNET_PCAP
ifdef CONFIG_L2_FREEBSD
LIBS += -lpcap
OBJS += $(DIR_WPA_SUPPLICANT)/l2_packet_freebsd.o
@@ -122,9 +157,21 @@
ifdef CONFIG_EAP_SIM
CFLAGS += -DEAP_SIM
-OBJS += eap_sim.o $(DIR_WPA_SUPPLICANT)/eap_sim_common.o
-# Example EAP-SIM interface for GSM authentication. This can be replaced with
-# another file implementating the interface specified in eap_sim_db.h.
+OBJS += eap_sim.o
+CONFIG_EAP_SIM_COMMON=y
+endif
+
+ifdef CONFIG_EAP_AKA
+CFLAGS += -DEAP_AKA
+OBJS += eap_aka.o
+CONFIG_EAP_SIM_COMMON=y
+endif
+
+ifdef CONFIG_EAP_SIM_COMMON
+OBJS += $(DIR_WPA_SUPPLICANT)/eap_sim_common.o
+# Example EAP-SIM/AKA interface for GSM/UMTS authentication. This can be
+# replaced with another file implementating the interface specified in
+# eap_sim_db.h.
OBJS += eap_sim_db.o
endif
@@ -138,6 +185,25 @@
OBJS += eap_psk.o $(DIR_WPA_SUPPLICANT)/eap_psk_common.o
endif
+ifdef CONFIG_EAP_SAKE
+CFLAGS += -DEAP_SAKE
+OBJS += eap_sake.o $(DIR_WPA_SUPPLICANT)/eap_sake_common.o
+endif
+
+ifdef CONFIG_EAP_GPSK
+CFLAGS += -DEAP_GPSK
+OBJS += eap_gpsk.o $(DIR_WPA_SUPPLICANT)/eap_gpsk_common.o
+ifdef CONFIG_EAP_GPSK_SHA256
+CFLAGS += -DEAP_GPSK_SHA256
+NEED_SHA256=y
+endif
+endif
+
+ifdef CONFIG_EAP_VENDOR_TEST
+CFLAGS += -DEAP_VENDOR_TEST
+OBJS += eap_vendor_test.o
+endif
+
ifdef CONFIG_EAP_TLV
CFLAGS += -DEAP_TLV
OBJS += eap_tlv.o
@@ -145,15 +211,34 @@
ifdef CONFIG_EAP
CFLAGS += -DEAP_SERVER
-OBJS += eap.o eap_identity.o
+OBJS += eap.o eap_methods.o eap_identity.o
+endif
+
+ifndef CONFIG_TLS
+CONFIG_TLS=openssl
endif
ifdef TLS_FUNCS
# Shared TLS functions (needed for EAP_TLS, EAP_PEAP, and EAP_TTLS)
CFLAGS += -DEAP_TLS_FUNCS
-OBJS += eap_tls_common.o $(DIR_WPA_SUPPLICANT)/tls_openssl.o
+OBJS += eap_tls_common.o
+ifeq ($(CONFIG_TLS), openssl)
+OBJS += $(DIR_WPA_SUPPLICANT)/tls_openssl.o
LIBS += -lssl -lcrypto
LIBS_p += -lcrypto
+LIBS_h += -lcrypto
+endif
+ifeq ($(CONFIG_TLS), gnutls)
+OBJS += $(DIR_WPA_SUPPLICANT)/tls_gnutls.o
+LIBS += -lgnutls -lgcrypt -lgpg-error
+LIBS_p += -lgcrypt
+LIBS_h += -lgcrypt
+endif
+ifdef CONFIG_GNUTLS_EXTRA
+CFLAGS += -DCONFIG_GNUTLS_EXTRA
+LIBS += -lgnutls-extra
+endif
+NEED_CRYPTO=y
else
OBJS += $(DIR_WPA_SUPPLICANT)/tls_none.o
endif
@@ -163,10 +248,60 @@
endif
ifdef MS_FUNCS
+OBJS += $(DIR_WPA_SUPPLICANT)/ms_funcs.o
+NEED_CRYPTO=y
+endif
+
+ifdef NEED_CRYPTO
ifndef TLS_FUNCS
+ifeq ($(CONFIG_TLS), openssl)
LIBS += -lcrypto
+LIBS_p += -lcrypto
+LIBS_h += -lcrypto
+endif
+ifeq ($(CONFIG_TLS), gnutls)
+LIBS += -lgcrypt
+LIBS_p += -lgcrypt
+LIBS_h += -lgcrypt
+endif
+endif
+ifeq ($(CONFIG_TLS), openssl)
+OBJS += $(DIR_WPA_SUPPLICANT)/crypto.o
+OBJS_p += $(DIR_WPA_SUPPLICANT)/crypto.o
+HOBJS += $(DIR_WPA_SUPPLICANT)/crypto.o
+CONFIG_INTERNAL_SHA256=y
+endif
+ifeq ($(CONFIG_TLS), gnutls)
+OBJS += $(DIR_WPA_SUPPLICANT)/crypto_gnutls.o
+OBJS_p += $(DIR_WPA_SUPPLICANT)/crypto_gnutls.o
+HOBJS += $(DIR_WPA_SUPPLICANT)/crypto_gnutls.o
+CONFIG_INTERNAL_SHA256=y
endif
-OBJS += $(DIR_WPA_SUPPLICANT)/ms_funcs.o $(DIR_WPA_SUPPLICANT)/crypto.o
+else
+CONFIG_INTERNAL_AES=y
+CONFIG_INTERNAL_SHA1=y
+CONFIG_INTERNAL_MD5=y
+CONFIG_INTERNAL_SHA256=y
+endif
+
+ifdef CONFIG_INTERNAL_AES
+CFLAGS += -DINTERNAL_AES
+endif
+ifdef CONFIG_INTERNAL_SHA1
+CFLAGS += -DINTERNAL_SHA1
+endif
+ifdef CONFIG_INTERNAL_SHA256
+CFLAGS += -DINTERNAL_SHA256
+endif
+ifdef CONFIG_INTERNAL_MD5
+CFLAGS += -DINTERNAL_MD5
+endif
+ifdef CONFIG_INTERNAL_MD4
+CFLAGS += -DINTERNAL_MD4
+endif
+
+ifdef NEED_SHA256
+OBJS += sha256.o
endif
ifdef CONFIG_RADIUS_SERVER
@@ -178,6 +313,12 @@
CFLAGS += -DCONFIG_IPV6
endif
+ifdef CONFIG_FULL_DYNAMIC_VLAN
+# define CONFIG_FULL_DYNAMIC_VLAN to have hostapd manipulate bridges
+# and vlan interfaces for the vlan feature.
+CFLAGS += -DCONFIG_FULL_DYNAMIC_VLAN
+endif
+
ALL=hostapd hostapd_cli
all: verify_config $(ALL)
@@ -201,10 +342,7 @@
rm -f driver_conf.c
echo '/* THIS FILE AUTOMATICALLY GENERATED, DO NOT EDIT! */' \
> driver_conf.c
- echo '#include <stdlib.h>' >> driver_conf.c
- echo '#include <stdio.h>' >> driver_conf.c
- echo '#include <sys/types.h>' >> driver_conf.c
- echo '#include <netinet/in.h>' >> driver_conf.c
+ echo '#include "includes.h"' >> driver_conf.c
echo '#include "hostapd.h"' >> driver_conf.c
echo '#include "driver.h"' >> driver_conf.c
ifdef CONFIG_DRIVER_HOSTAP
@@ -219,6 +357,9 @@
ifdef CONFIG_DRIVER_PRISM54
echo "void prism54_driver_register(void);" >> driver_conf.c
endif
+ifdef CONFIG_DRIVER_DEVICESCAPE
+ echo "void devicescape_driver_register(void);" >> driver_conf.c
+endif
ifdef CONFIG_DRIVER_BSD
echo "void bsd_driver_register(void);" >> driver_conf.c
endif
@@ -238,6 +379,9 @@
ifdef CONFIG_DRIVER_PRISM54
echo "prism54_driver_register();" >> driver_conf.c
endif
+ifdef CONFIG_DRIVER_DEVICESCAPE
+ echo "devicescape_driver_register();" >> driver_conf.c
+endif
ifdef CONFIG_DRIVER_BSD
echo "bsd_driver_register();" >> driver_conf.c
endif
@@ -249,7 +393,48 @@
hostapd_cli: hostapd_cli.o $(DIR_WPA_SUPPLICANT)/wpa_ctrl.o
$(CC) -o hostapd_cli hostapd_cli.o $(DIR_WPA_SUPPLICANT)/wpa_ctrl.o
+NOBJS = nt_password_hash.o $(DIR_WPA_SUPPLICANT)/ms_funcs.o sha1.o rc4.o md5.o
+NOBJS += $(DIR_WPA_SUPPLICANT)/crypto.o os_$(CONFIG_OS).o
+ifdef TLS_FUNCS
+LIBS_n += -lcrypto
+endif
+
+nt_password_hash: $(NOBJS)
+ $(CC) -o nt_password_hash $(NOBJS) $(LIBS_n)
+
+hlr_auc_gw: $(HOBJS)
+ $(CC) -o hlr_auc_gw $(HOBJS) $(LIBS_h)
+
clean:
- rm -f core *~ *.o hostapd hostapd_cli *.d driver_conf.c
+ rm -f core *~ *.o hostapd hostapd_cli nt_password_hash hlr_auc_gw
+ rm -f *.d driver_conf.c
+
+%.eps: %.fig
+ fig2dev -L eps $*.fig $*.eps
+
+%.png: %.fig
+ fig2dev -L png -m 3 $*.fig | pngtopnm | pnmscale 0.4 | pnmtopng \
+ > $*.png
+
+docs-pics: doc/hostapd.png doc/hostapd.eps
+
+docs: docs-pics
+ doxygen doc/doxygen.full
+ $(MAKE) -C doc/latex
+ cp doc/latex/refman.pdf hostapd-devel.pdf
+
+docs-fast: docs-pics
+ doxygen doc/doxygen.fast
+
+clean-docs:
+ rm -rf doc/latex doc/html
+ rm -f doc/hosta.d{eps,png} hostapd-devel.pdf
+
+TEST_SRC_MILENAGE = milenage.c aes_wrap.c common.c os_$(CONFIG_OS).c
+test-milenage: $(TEST_SRC_MILENAGE)
+ $(CC) -o test-milenage -Wall -Werror $(TEST_SRC_MILENAGE) \
+ -DTEST_MAIN_MILENAGE -I. -I../wpa_supplicant -DINTERNAL_AES
+ ./test-milenage
+ rm test-milenage
-include $(OBJS:%.o=%.d)
==== //depot/projects/delphij_fork/contrib/hostapd/README#2 (text+ko) ====
@@ -2,8 +2,7 @@
Authenticator and RADIUS authentication server
================================================================
-Copyright (c) 2002-2006, Jouni Malinen <jkmaline at cc.hut.fi> and
-contributors
+Copyright (c) 2002-2007, Jouni Malinen <j at w1.fi> and contributors
All Rights Reserved.
This program is dual-licensed under both the GPL version 2 and BSD
@@ -27,13 +26,13 @@
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+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 under the terms of BSD
-license:
+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
modification, are permitted provided that the following conditions are
@@ -92,9 +91,9 @@
madwifi driver for cards based on Atheros chip set (ar521x)
(http://sourceforge.net/projects/madwifi/)
- Please note that you will need to modify the hostapd Makefile
- to use correct path for madwifi driver root directory
- (CFLAGS += -I../head line in Makefile).
+ Please note that you will need to add the correct path for
+ madwifi driver root directory in .config (see defconfig file for
+ an example: CFLAGS += -I<path>)
Prism54 driver for Intersil/Conexant Prism GT/Duette/Indigo
(http://www.prism54.org/)
@@ -158,14 +157,6 @@
device that is also used with IEEE 802.11 management frames. The
frames to the Supplicant are sent using the same device.
-hostapd includes a minimal colocated Authentication Server for testing
-purposes. It only requests the identity of the Supplicant and
-authorizes any host that is able to send a valid EAP Response
-frame. This can be used for quick testing since it does not require an
-external Authentication Server, but it should not be used for any real
-authentication purposes since no keys are required and anyone can
-authenticate.
-
The normal configuration of the Authenticator would use an external
Authentication Server. hostapd supports RADIUS encapsulation of EAP
packets, so the Authentication Server should be a RADIUS server, like
==== //depot/projects/delphij_fork/contrib/hostapd/accounting.c#2 (text+ko) ====
@@ -1,7 +1,6 @@
/*
- * Host AP (software wireless LAN access point) user space daemon for
- * Host AP kernel driver / Accounting
- * Copyright (c) 2002-2005, Jouni Malinen <jkmaline at cc.hut.fi>
+ * hostapd / RADIUS Accounting
+ * Copyright (c) 2002-2005, Jouni Malinen <j at w1.fi>
*
* 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
@@ -13,18 +12,8 @@
* See README and COPYING for more details.
*/
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <netinet/in.h>
-#include <string.h>
-#include <sys/ioctl.h>
-#include <signal.h>
+#include "includes.h"
#include <assert.h>
-#include <time.h>
-#include <sys/time.h>
-#include <sys/socket.h>
-
#include "hostapd.h"
#include "radius.h"
@@ -40,7 +29,13 @@
* input/output octets and updates Acct-{Input,Output}-Gigawords. */
#define ACCT_DEFAULT_UPDATE_INTERVAL 300
-static struct radius_msg * accounting_msg(hostapd *hapd, struct sta_info *sta,
+/* from ieee802_1x.c */
+const char *radius_mode_txt(struct hostapd_data *hapd);
+int radius_sta_rate(struct hostapd_data *hapd, struct sta_info *sta);
+
+
+static struct radius_msg * accounting_msg(struct hostapd_data *hapd,
+ struct sta_info *sta,
int status_type)
{
struct radius_msg *msg;
@@ -131,7 +126,7 @@
}
snprintf(buf, sizeof(buf), RADIUS_802_1X_ADDR_FORMAT ":%s",
- MAC2STR(hapd->own_addr), hapd->conf->ssid);
+ MAC2STR(hapd->own_addr), hapd->conf->ssid.ssid);
if (!radius_msg_add_attr(msg, RADIUS_ATTR_CALLED_STATION_ID,
(u8 *) buf, strlen(buf))) {
printf("Could not add Called-Station-Id\n");
@@ -154,7 +149,10 @@
goto fail;
}
- snprintf(buf, sizeof(buf), "CONNECT 11Mbps 802.11b");
+ snprintf(buf, sizeof(buf), "CONNECT %d%sMbps %s",
+ radius_sta_rate(hapd, sta) / 2,
+ (radius_sta_rate(hapd, sta) & 1) ? ".5" : "",
+ radius_mode_txt(hapd));
if (!radius_msg_add_attr(msg, RADIUS_ATTR_CONNECT_INFO,
(u8 *) buf, strlen(buf))) {
printf("Could not add Connect-Info\n");
@@ -211,7 +209,7 @@
static void accounting_interim_update(void *eloop_ctx, void *timeout_ctx)
{
- hostapd *hapd = eloop_ctx;
+ struct hostapd_data *hapd = eloop_ctx;
struct sta_info *sta = timeout_ctx;
int interval;
@@ -229,11 +227,11 @@
}
-void accounting_sta_start(hostapd *hapd, struct sta_info *sta)
+void accounting_sta_start(struct hostapd_data *hapd, struct sta_info *sta)
{
struct radius_msg *msg;
int interval;
-
+
if (sta->acct_session_started)
return;
@@ -260,7 +258,8 @@
}
-void accounting_sta_report(hostapd *hapd, struct sta_info *sta, int stop)
+void accounting_sta_report(struct hostapd_data *hapd, struct sta_info *sta,
+ int stop)
{
struct radius_msg *msg;
int cause = sta->acct_terminate_cause;
@@ -360,14 +359,14 @@
}
-void accounting_sta_interim(hostapd *hapd, struct sta_info *sta)
+void accounting_sta_interim(struct hostapd_data *hapd, struct sta_info *sta)
{
if (sta->acct_session_started)
accounting_sta_report(hapd, sta, 0);
}
-void accounting_sta_stop(hostapd *hapd, struct sta_info *sta)
+void accounting_sta_stop(struct hostapd_data *hapd, struct sta_info *sta)
{
if (sta->acct_session_started) {
accounting_sta_report(hapd, sta, 1);
@@ -435,7 +434,7 @@
}
-int accounting_init(hostapd *hapd)
+int accounting_init(struct hostapd_data *hapd)
{
/* Acct-Session-Id should be unique over reboots. If reliable clock is
* not available, this could be replaced with reboot counter, etc. */
@@ -451,7 +450,18 @@
}
-void accounting_deinit(hostapd *hapd)
+void accounting_deinit(struct hostapd_data *hapd)
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list