PERFORCE change 138633 for review

Peter Wemm peter at FreeBSD.org
Wed Mar 26 17:51:17 UTC 2008


http://perforce.freebsd.org/chv.cgi?CH=138633

Change 138633 by peter at peter_overcee on 2008/03/26 17:50:33

	IFC @138629
	(cpu_switch won't work yet though)

Affected files ...

.. //depot/projects/hammer/Makefile#47 integrate
.. //depot/projects/hammer/ObsoleteFiles.inc#48 integrate
.. //depot/projects/hammer/contrib/hostapd/ChangeLog#5 integrate
.. //depot/projects/hammer/contrib/hostapd/Makefile#5 integrate
.. //depot/projects/hammer/contrib/hostapd/README#4 integrate
.. //depot/projects/hammer/contrib/hostapd/aes_wrap.c#4 integrate
.. //depot/projects/hammer/contrib/hostapd/aes_wrap.h#4 integrate
.. //depot/projects/hammer/contrib/hostapd/common.c#4 integrate
.. //depot/projects/hammer/contrib/hostapd/common.h#5 integrate
.. //depot/projects/hammer/contrib/hostapd/defconfig#4 integrate
.. //depot/projects/hammer/contrib/hostapd/driver.h#4 integrate
.. //depot/projects/hammer/contrib/hostapd/driver_test.c#4 integrate
.. //depot/projects/hammer/contrib/hostapd/eap_aka.c#2 integrate
.. //depot/projects/hammer/contrib/hostapd/eap_gpsk.c#2 integrate
.. //depot/projects/hammer/contrib/hostapd/eap_gpsk_common.c#2 integrate
.. //depot/projects/hammer/contrib/hostapd/eap_gpsk_common.h#2 integrate
.. //depot/projects/hammer/contrib/hostapd/eap_sim.c#4 integrate
.. //depot/projects/hammer/contrib/hostapd/eap_sim_common.c#4 integrate
.. //depot/projects/hammer/contrib/hostapd/eap_sim_db.c#4 integrate
.. //depot/projects/hammer/contrib/hostapd/eap_tls_common.c#4 integrate
.. //depot/projects/hammer/contrib/hostapd/eapol_version.patch#2 delete
.. //depot/projects/hammer/contrib/hostapd/hostapd.c#4 integrate
.. //depot/projects/hammer/contrib/hostapd/hostapd.conf#5 integrate
.. //depot/projects/hammer/contrib/hostapd/ieee802_11.c#4 integrate
.. //depot/projects/hammer/contrib/hostapd/ieee802_11_auth.c#4 integrate
.. //depot/projects/hammer/contrib/hostapd/ieee802_1x.c#5 integrate
.. //depot/projects/hammer/contrib/hostapd/madwifi.conf#3 integrate
.. //depot/projects/hammer/contrib/hostapd/os.h#2 integrate
.. //depot/projects/hammer/contrib/hostapd/os_unix.c#2 integrate
.. //depot/projects/hammer/contrib/hostapd/radius.c#4 integrate
.. //depot/projects/hammer/contrib/hostapd/radius.h#4 integrate
.. //depot/projects/hammer/contrib/hostapd/radius_client.c#5 integrate
.. //depot/projects/hammer/contrib/hostapd/radius_server.c#5 integrate
.. //depot/projects/hammer/contrib/hostapd/tls_openssl.c#5 integrate
.. //depot/projects/hammer/contrib/hostapd/version.h#5 integrate
.. //depot/projects/hammer/contrib/hostapd/wpa.c#5 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/ChangeLog#5 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/FREEBSD-Xlist#5 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/FREEBSD-upgrade#3 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/Makefile#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/README#5 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/aes_wrap.c#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/aes_wrap.h#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/asn1.c#2 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/common.c#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/common.h#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/config.c#5 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/config_ssid.h#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/config_winreg.c#2 delete
.. //depot/projects/hammer/contrib/wpa_supplicant/ctrl_iface.c#5 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/ctrl_iface_dbus.c#2 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/ctrl_iface_dbus_handlers.c#2 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/ctrl_iface_dbus_handlers.h#2 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/ctrl_iface_named_pipe.c#2 delete
.. //depot/projects/hammer/contrib/wpa_supplicant/ctrl_iface_unix.c#2 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/dbus-wpa_supplicant.conf#2 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/dbus-wpa_supplicant.service#1 branch
.. //depot/projects/hammer/contrib/wpa_supplicant/defconfig#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/doc/ctrl_iface.doxygen#3 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/doc/docbook/wpa_background.8#3 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/doc/docbook/wpa_cli.8#3 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/doc/docbook/wpa_cli.sgml#3 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/doc/docbook/wpa_passphrase.8#3 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.8#3 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.5#3 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.sgml#3 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/driver_hostap.h#3 delete
.. //depot/projects/hammer/contrib/wpa_supplicant/driver_ndis.c#5 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/eap_gpsk.c#2 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/eap_gpsk_common.c#2 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/eap_gpsk_common.h#2 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/eap_peap.c#5 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/eap_sim.c#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/eap_sim_common.c#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/eap_tlv.c#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/eap_tlv.h#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/eapol_sm.c#5 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/eapol_test.c#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/eloop_win.c#2 delete
.. //depot/projects/hammer/contrib/wpa_supplicant/events.c#3 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/main.c#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/os.h#2 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/os_unix.c#2 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/pcsc_funcs.c#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/radius.c#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/radius.h#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/radius_client.c#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/tests/test_aes.c#1 branch
.. //depot/projects/hammer/contrib/wpa_supplicant/tests/test_eap_sim_common.c#1 branch
.. //depot/projects/hammer/contrib/wpa_supplicant/tests/test_md4.c#1 branch
.. //depot/projects/hammer/contrib/wpa_supplicant/tests/test_md5.c#1 branch
.. //depot/projects/hammer/contrib/wpa_supplicant/tests/test_ms_funcs.c#1 branch
.. //depot/projects/hammer/contrib/wpa_supplicant/tests/test_sha1.c#1 branch
.. //depot/projects/hammer/contrib/wpa_supplicant/tests/test_sha256.c#1 branch
.. //depot/projects/hammer/contrib/wpa_supplicant/tests/test_x509v3.c#1 branch
.. //depot/projects/hammer/contrib/wpa_supplicant/tls_openssl.c#5 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/version.h#5 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/wpa.c#5 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/wpa_cli.c#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp#2 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.cpp#2 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/wpa_gui/networkconfig.ui.h#3 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/wpa_gui/setup-mingw-cross-compiling#2 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/wpa_gui/wpagui.ui.h#3 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/wpa_supplicant.c#7 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/wpa_supplicant.conf#4 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/wpa_supplicant_i.h#5 integrate
.. //depot/projects/hammer/contrib/wpa_supplicant/x509v3.c#2 integrate
.. //depot/projects/hammer/etc/freebsd-update.conf#4 integrate
.. //depot/projects/hammer/etc/periodic/security/410.logincheck#2 integrate
.. //depot/projects/hammer/lib/libc/gen/lockf.c#2 integrate
.. //depot/projects/hammer/lib/libc/include/namespace.h#12 integrate
.. //depot/projects/hammer/lib/libc/include/un-namespace.h#11 integrate
.. //depot/projects/hammer/lib/libc/sys/Symbol.map#8 integrate
.. //depot/projects/hammer/lib/libc/sys/fcntl.2#7 integrate
.. //depot/projects/hammer/lib/libc/yp/xdryp.c#2 integrate
.. //depot/projects/hammer/lib/libc_r/uthread/uthread_sig.c#11 integrate
.. //depot/projects/hammer/lib/libelf/libelf_convert.m4#3 integrate
.. //depot/projects/hammer/lib/libkse/thread/thr_sig.c#3 integrate
.. //depot/projects/hammer/lib/libthr/Makefile#26 integrate
.. //depot/projects/hammer/lib/libthr/thread/thr_attr.c#10 integrate
.. //depot/projects/hammer/lib/libthr/thread/thr_exit.c#24 integrate
.. //depot/projects/hammer/lib/libthr/thread/thr_mutex.c#41 integrate
.. //depot/projects/hammer/lib/libthread_db/Makefile#12 integrate
.. //depot/projects/hammer/lib/libthread_db/kse.h#1 branch
.. //depot/projects/hammer/lib/libthread_db/libpthread_db.c#10 integrate
.. //depot/projects/hammer/libexec/talkd/announce.c#3 integrate
.. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/article.sgml#30 integrate
.. //depot/projects/hammer/share/man/man4/bpf.4#13 integrate
.. //depot/projects/hammer/share/man/man4/malo.4#1 branch
.. //depot/projects/hammer/share/man/man7/security.7#18 integrate
.. //depot/projects/hammer/share/man/man9/malloc.9#13 integrate
.. //depot/projects/hammer/share/man/man9/mbchain.9#3 integrate
.. //depot/projects/hammer/share/man/man9/mbuf.9#29 integrate
.. //depot/projects/hammer/share/zoneinfo/asia#14 integrate
.. //depot/projects/hammer/share/zoneinfo/backward#10 integrate
.. //depot/projects/hammer/share/zoneinfo/northamerica#14 integrate
.. //depot/projects/hammer/share/zoneinfo/southamerica#16 integrate
.. //depot/projects/hammer/share/zoneinfo/zone.tab#14 integrate
.. //depot/projects/hammer/sys/amd64/amd64/cpu_switch.S#46 integrate
.. //depot/projects/hammer/sys/amd64/amd64/genassym.c#51 integrate
.. //depot/projects/hammer/sys/amd64/amd64/pmap.c#175 integrate
.. //depot/projects/hammer/sys/amd64/amd64/prof_machdep.c#8 integrate
.. //depot/projects/hammer/sys/amd64/conf/NOTES#109 integrate
.. //depot/projects/hammer/sys/amd64/ia32/ia32_signal.c#24 integrate
.. //depot/projects/hammer/sys/amd64/include/clock.h#26 integrate
.. //depot/projects/hammer/sys/amd64/include/pcb.h#27 integrate
.. //depot/projects/hammer/sys/amd64/isa/clock.c#68 integrate
.. //depot/projects/hammer/sys/boot/i386/cdboot/cdboot.s#8 integrate
.. //depot/projects/hammer/sys/boot/pc98/cdboot/cdboot.s#4 integrate
.. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_proto.h#53 integrate
.. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscall.h#50 integrate
.. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscalls.c#50 integrate
.. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_sysent.c#50 integrate
.. //depot/projects/hammer/sys/compat/freebsd32/syscalls.master#55 integrate
.. //depot/projects/hammer/sys/compat/linux/linux_file.c#28 integrate
.. //depot/projects/hammer/sys/compat/linux/linux_misc.c#47 integrate
.. //depot/projects/hammer/sys/compat/svr4/svr4_fcntl.c#16 integrate
.. //depot/projects/hammer/sys/conf/NOTES#140 integrate
.. //depot/projects/hammer/sys/conf/files#177 integrate
.. //depot/projects/hammer/sys/conf/options#126 integrate
.. //depot/projects/hammer/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#10 integrate
.. //depot/projects/hammer/sys/ddb/db_command.c#23 integrate
.. //depot/projects/hammer/sys/ddb/db_ps.c#22 integrate
.. //depot/projects/hammer/sys/ddb/ddb.h#16 integrate
.. //depot/projects/hammer/sys/dev/aac/aac.c#46 integrate
.. //depot/projects/hammer/sys/dev/aac/aac_cam.c#21 integrate
.. //depot/projects/hammer/sys/dev/aac/aac_debug.c#11 integrate
.. //depot/projects/hammer/sys/dev/aac/aac_disk.c#13 integrate
.. //depot/projects/hammer/sys/dev/aac/aac_pci.c#32 integrate
.. //depot/projects/hammer/sys/dev/aac/aacreg.h#13 integrate
.. //depot/projects/hammer/sys/dev/aac/aacvar.h#16 integrate
.. //depot/projects/hammer/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#5 integrate
.. //depot/projects/hammer/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#5 integrate
.. //depot/projects/hammer/sys/dev/dc/if_dc.c#14 integrate
.. //depot/projects/hammer/sys/dev/dc/if_dcreg.h#8 integrate
.. //depot/projects/hammer/sys/dev/en/midway.c#28 integrate
.. //depot/projects/hammer/sys/dev/fatm/if_fatm.c#17 integrate
.. //depot/projects/hammer/sys/dev/firewire/if_fwe.c#28 integrate
.. //depot/projects/hammer/sys/dev/firewire/if_fwip.c#14 integrate
.. //depot/projects/hammer/sys/dev/gem/if_gem.c#34 integrate
.. //depot/projects/hammer/sys/dev/gem/if_gem_pci.c#18 integrate
.. //depot/projects/hammer/sys/dev/gem/if_gemreg.h#6 integrate
.. //depot/projects/hammer/sys/dev/gem/if_gemvar.h#12 integrate
.. //depot/projects/hammer/sys/dev/iscsi/initiator/isc_soc.c#4 integrate
.. //depot/projects/hammer/sys/dev/malo/if_malo.c#1 branch
.. //depot/projects/hammer/sys/dev/malo/if_malo.h#1 branch
.. //depot/projects/hammer/sys/dev/malo/if_malo_pci.c#1 branch
.. //depot/projects/hammer/sys/dev/malo/if_malohal.c#1 branch
.. //depot/projects/hammer/sys/dev/malo/if_malohal.h#1 branch
.. //depot/projects/hammer/sys/dev/malo/if_maloioctl.h#1 branch
.. //depot/projects/hammer/sys/dev/re/if_re.c#58 integrate
.. //depot/projects/hammer/sys/dev/speaker/spkr.c#3 integrate
.. //depot/projects/hammer/sys/dev/ti/if_ti.c#9 integrate
.. //depot/projects/hammer/sys/dev/usb/ucom.c#27 integrate
.. //depot/projects/hammer/sys/dev/usb/ucomvar.h#9 integrate
.. //depot/projects/hammer/sys/dev/usb/usbdevs#98 integrate
.. //depot/projects/hammer/sys/fs/msdosfs/msdosfs_vnops.c#36 integrate
.. //depot/projects/hammer/sys/fs/tmpfs/tmpfs_vnops.c#11 integrate
.. //depot/projects/hammer/sys/i386/conf/NOTES#99 integrate
.. //depot/projects/hammer/sys/i386/i386/pmap.c#109 integrate
.. //depot/projects/hammer/sys/i386/ibcs2/ibcs2_fcntl.c#8 integrate
.. //depot/projects/hammer/sys/i386/include/clock.h#16 integrate
.. //depot/projects/hammer/sys/i386/include/vmparam.h#14 integrate
.. //depot/projects/hammer/sys/i386/isa/clock.c#42 integrate
.. //depot/projects/hammer/sys/i386/isa/prof_machdep.c#11 integrate
.. //depot/projects/hammer/sys/i386/isa/vesa.c#14 integrate
.. //depot/projects/hammer/sys/isa/syscons_isa.c#13 integrate
.. //depot/projects/hammer/sys/kern/init_sysent.c#67 integrate
.. //depot/projects/hammer/sys/kern/kern_cpuset.c#3 integrate
.. //depot/projects/hammer/sys/kern/kern_descrip.c#79 integrate
.. //depot/projects/hammer/sys/kern/kern_lockf.c#18 integrate
.. //depot/projects/hammer/sys/kern/makesyscalls.sh#12 integrate
.. //depot/projects/hammer/sys/kern/subr_mchain.c#10 integrate
.. //depot/projects/hammer/sys/kern/subr_taskqueue.c#23 integrate
.. //depot/projects/hammer/sys/kern/syscalls.c#65 integrate
.. //depot/projects/hammer/sys/kern/syscalls.master#67 integrate
.. //depot/projects/hammer/sys/kern/systrace_args.c#11 integrate
.. //depot/projects/hammer/sys/kern/uipc_mbuf.c#48 integrate
.. //depot/projects/hammer/sys/kern/uipc_socket.c#80 integrate
.. //depot/projects/hammer/sys/kern/uipc_syscalls.c#71 integrate
.. //depot/projects/hammer/sys/kern/vfs_mount.c#90 integrate
.. //depot/projects/hammer/sys/kern/vfs_subr.c#128 integrate
.. //depot/projects/hammer/sys/kern/vfs_vnops.c#53 integrate
.. //depot/projects/hammer/sys/kern/vnode_if.src#27 integrate
.. //depot/projects/hammer/sys/modules/malo/Makefile#1 branch
.. //depot/projects/hammer/sys/net/bpf.c#58 integrate
.. //depot/projects/hammer/sys/net/bpf.h#20 integrate
.. //depot/projects/hammer/sys/net/bpf_buffer.c#1 branch
.. //depot/projects/hammer/sys/net/bpf_buffer.h#1 branch
.. //depot/projects/hammer/sys/net/bpf_zerocopy.c#1 branch
.. //depot/projects/hammer/sys/net/bpf_zerocopy.h#1 branch
.. //depot/projects/hammer/sys/net/bpfdesc.h#19 integrate
.. //depot/projects/hammer/sys/net/if.c#74 integrate
.. //depot/projects/hammer/sys/net/if_ef.c#17 integrate
.. //depot/projects/hammer/sys/net/if_enc.c#5 integrate
.. //depot/projects/hammer/sys/net/if_fddisubr.c#23 integrate
.. //depot/projects/hammer/sys/net/if_iso88025subr.c#21 integrate
.. //depot/projects/hammer/sys/net/if_loop.c#32 integrate
.. //depot/projects/hammer/sys/net/if_media.h#21 integrate
.. //depot/projects/hammer/sys/net/if_sl.c#27 integrate
.. //depot/projects/hammer/sys/net/if_var.h#46 integrate
.. //depot/projects/hammer/sys/net/raw_cb.c#12 integrate
.. //depot/projects/hammer/sys/netatalk/aarp.c#23 integrate
.. //depot/projects/hammer/sys/netatm/port.h#5 integrate
.. //depot/projects/hammer/sys/netgraph/ng_pptpgre.c#15 integrate
.. //depot/projects/hammer/sys/netgraph/ng_pptpgre.h#5 integrate
.. //depot/projects/hammer/sys/netinet/in_pcb.c#55 integrate
.. //depot/projects/hammer/sys/netinet/in_pcb.h#37 integrate
.. //depot/projects/hammer/sys/netinet/ip_output.c#68 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_output.c#50 integrate
.. //depot/projects/hammer/sys/netipsec/key.c#20 integrate
.. //depot/projects/hammer/sys/netncp/ncp_sock.c#9 integrate
.. //depot/projects/hammer/sys/netsmb/smb_iod.c#12 integrate
.. //depot/projects/hammer/sys/netsmb/smb_rq.c#10 integrate
.. //depot/projects/hammer/sys/netsmb/smb_trantcp.c#13 integrate
.. //depot/projects/hammer/sys/nfs/nfs_common.c#8 integrate
.. //depot/projects/hammer/sys/nfs4client/nfs4_vnops.c#31 integrate
.. //depot/projects/hammer/sys/nfsclient/krpc_subr.c#12 integrate
.. //depot/projects/hammer/sys/nfsclient/nfs_lock.c#17 integrate
.. //depot/projects/hammer/sys/nfsclient/nfs_socket.c#46 integrate
.. //depot/projects/hammer/sys/nfsclient/nfs_subs.c#35 integrate
.. //depot/projects/hammer/sys/nfsclient/nfs_vnops.c#59 integrate
.. //depot/projects/hammer/sys/nfsserver/nfs_serv.c#41 integrate
.. //depot/projects/hammer/sys/nfsserver/nfs_srvcache.c#11 integrate
.. //depot/projects/hammer/sys/nfsserver/nfs_srvsock.c#25 integrate
.. //depot/projects/hammer/sys/nfsserver/nfs_srvsubs.c#32 integrate
.. //depot/projects/hammer/sys/nfsserver/nfs_syscalls.c#25 integrate
.. //depot/projects/hammer/sys/nlm/nlm.h#1 branch
.. //depot/projects/hammer/sys/nlm/nlm_prot.h#1 branch
.. //depot/projects/hammer/sys/nlm/nlm_prot_clnt.c#1 branch
.. //depot/projects/hammer/sys/nlm/nlm_prot_impl.c#1 branch
.. //depot/projects/hammer/sys/nlm/nlm_prot_server.c#1 branch
.. //depot/projects/hammer/sys/nlm/nlm_prot_svc.c#1 branch
.. //depot/projects/hammer/sys/nlm/nlm_prot_xdr.c#1 branch
.. //depot/projects/hammer/sys/nlm/sm_inter.h#1 branch
.. //depot/projects/hammer/sys/nlm/sm_inter_xdr.c#1 branch
.. //depot/projects/hammer/sys/pc98/cbus/clock.c#12 integrate
.. //depot/projects/hammer/sys/pc98/cbus/syscons_cbus.c#4 integrate
.. //depot/projects/hammer/sys/pc98/conf/NOTES#61 integrate
.. //depot/projects/hammer/sys/pci/if_mn.c#15 integrate
.. //depot/projects/hammer/sys/pci/if_rlreg.h#32 integrate
.. //depot/projects/hammer/sys/pci/if_xl.c#69 integrate
.. //depot/projects/hammer/sys/pci/if_xlreg.h#17 integrate
.. //depot/projects/hammer/sys/rpc/auth.h#1 branch
.. //depot/projects/hammer/sys/rpc/auth_none.c#1 branch
.. //depot/projects/hammer/sys/rpc/auth_unix.c#1 branch
.. //depot/projects/hammer/sys/rpc/authunix_prot.c#1 branch
.. //depot/projects/hammer/sys/rpc/clnt.h#1 branch
.. //depot/projects/hammer/sys/rpc/clnt_dg.c#1 branch
.. //depot/projects/hammer/sys/rpc/clnt_rc.c#1 branch
.. //depot/projects/hammer/sys/rpc/clnt_stat.h#1 branch
.. //depot/projects/hammer/sys/rpc/clnt_vc.c#1 branch
.. //depot/projects/hammer/sys/rpc/getnetconfig.c#1 branch
.. //depot/projects/hammer/sys/rpc/inet_ntop.c#1 branch
.. //depot/projects/hammer/sys/rpc/inet_pton.c#1 branch
.. //depot/projects/hammer/sys/rpc/netconfig.h#1 branch
.. //depot/projects/hammer/sys/rpc/nettype.h#1 branch
.. //depot/projects/hammer/sys/rpc/pmap_prot.h#1 branch
.. //depot/projects/hammer/sys/rpc/rpc.h#1 branch
.. //depot/projects/hammer/sys/rpc/rpc_callmsg.c#1 branch
.. //depot/projects/hammer/sys/rpc/rpc_com.h#1 branch
.. //depot/projects/hammer/sys/rpc/rpc_generic.c#1 branch
.. //depot/projects/hammer/sys/rpc/rpc_msg.h#1 branch
.. //depot/projects/hammer/sys/rpc/rpc_prot.c#1 branch
.. //depot/projects/hammer/sys/rpc/rpcb_clnt.c#1 branch
.. //depot/projects/hammer/sys/rpc/rpcb_clnt.h#1 branch
.. //depot/projects/hammer/sys/rpc/rpcb_prot.c#1 branch
.. //depot/projects/hammer/sys/rpc/rpcb_prot.h#1 branch
.. //depot/projects/hammer/sys/rpc/rpcclnt.c#17 integrate
.. //depot/projects/hammer/sys/rpc/svc.c#1 branch
.. //depot/projects/hammer/sys/rpc/svc.h#1 branch
.. //depot/projects/hammer/sys/rpc/svc_auth.c#1 branch
.. //depot/projects/hammer/sys/rpc/svc_auth.h#1 branch
.. //depot/projects/hammer/sys/rpc/svc_auth_unix.c#1 branch
.. //depot/projects/hammer/sys/rpc/svc_dg.c#1 branch
.. //depot/projects/hammer/sys/rpc/svc_generic.c#1 branch
.. //depot/projects/hammer/sys/rpc/svc_vc.c#1 branch
.. //depot/projects/hammer/sys/rpc/types.h#2 integrate
.. //depot/projects/hammer/sys/rpc/xdr.h#1 branch
.. //depot/projects/hammer/sys/sparc64/include/bus.h#23 integrate
.. //depot/projects/hammer/sys/sparc64/sparc64/bus_machdep.c#23 integrate
.. //depot/projects/hammer/sys/sun4v/include/cpu.h#2 integrate
.. //depot/projects/hammer/sys/sys/cdefs.h#26 integrate
.. //depot/projects/hammer/sys/sys/cpuset.h#3 integrate
.. //depot/projects/hammer/sys/sys/fcntl.h#7 integrate
.. //depot/projects/hammer/sys/sys/lockf.h#7 integrate
.. //depot/projects/hammer/sys/sys/mbuf.h#66 integrate
.. //depot/projects/hammer/sys/sys/param.h#108 integrate
.. //depot/projects/hammer/sys/sys/syscall.h#64 integrate
.. //depot/projects/hammer/sys/sys/syscall.mk#64 integrate
.. //depot/projects/hammer/sys/sys/sysproto.h#65 integrate
.. //depot/projects/hammer/sys/sys/taskqueue.h#12 integrate
.. //depot/projects/hammer/sys/sys/vnode.h#77 integrate
.. //depot/projects/hammer/sys/ufs/ffs/ffs_softdep.c#53 integrate
.. //depot/projects/hammer/sys/ufs/ufs/ufs_vnops.c#53 integrate
.. //depot/projects/hammer/sys/xdr/xdr.c#1 branch
.. //depot/projects/hammer/sys/xdr/xdr_array.c#1 branch
.. //depot/projects/hammer/sys/xdr/xdr_mbuf.c#1 branch
.. //depot/projects/hammer/sys/xdr/xdr_mem.c#1 branch
.. //depot/projects/hammer/sys/xdr/xdr_reference.c#1 branch
.. //depot/projects/hammer/sys/xdr/xdr_sizeof.c#1 branch
.. //depot/projects/hammer/tools/build/mk/OptionalObsoleteFiles.inc#10 integrate
.. //depot/projects/hammer/tools/regression/file/flock/Makefile#1 branch
.. //depot/projects/hammer/tools/regression/file/flock/flock.c#1 branch
.. //depot/projects/hammer/usr.bin/checknr/checknr.c#4 integrate
.. //depot/projects/hammer/usr.bin/make/for.c#19 integrate
.. //depot/projects/hammer/usr.bin/make/make.1#34 integrate
.. //depot/projects/hammer/usr.bin/netstat/bpf.c#6 integrate
.. //depot/projects/hammer/usr.bin/xlint/lint1/lint1.h#3 integrate
.. //depot/projects/hammer/usr.sbin/Makefile#87 integrate
.. //depot/projects/hammer/usr.sbin/arp/arp.8#9 integrate
.. //depot/projects/hammer/usr.sbin/clear_locks/Makefile#1 branch
.. //depot/projects/hammer/usr.sbin/clear_locks/clear_locks.8#1 branch
.. //depot/projects/hammer/usr.sbin/clear_locks/clear_locks.c#1 branch
.. //depot/projects/hammer/usr.sbin/freebsd-update/freebsd-update.sh#7 integrate
.. //depot/projects/hammer/usr.sbin/rpc.lockd/lockd.c#9 integrate
.. //depot/projects/hammer/usr.sbin/rpc.lockd/rpc.lockd.8#6 integrate
.. //depot/projects/hammer/usr.sbin/wpa/wpa_supplicant/Makefile#13 integrate
.. //depot/projects/hammer/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.8#5 integrate

Differences ...

==== //depot/projects/hammer/Makefile#47 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/Makefile,v 1.345 2008/01/30 19:33:18 jhb Exp $
+# $FreeBSD: src/Makefile,v 1.346 2008/03/25 15:47:22 ru Exp $
 #
 # The user-driven targets are:
 #
@@ -172,6 +172,10 @@
 .MAIN:	all
 
 STARTTIME!= LC_ALL=C date
+CHECK_TIME!= find ${.CURDIR}/sys/sys/param.h -mtime -0
+.if !empty(CHECK_TIME)
+.error check your date/time: ${STARTTIME}
+.endif
 
 .if defined(HISTORICAL_MAKE_WORLD) || defined(DESTDIR)
 #

==== //depot/projects/hammer/ObsoleteFiles.inc#48 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/ObsoleteFiles.inc,v 1.133 2008/03/13 18:17:46 brueffer Exp $
+# $FreeBSD: src/ObsoleteFiles.inc,v 1.134 2008/03/26 06:45:28 remko Exp $
 #
 # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and
 # directories (OLD_DIRS) which should get removed at an update. Recently
@@ -1103,6 +1103,9 @@
 OLD_FILES+=usr/sbin/ntptimeset
 OLD_FILES+=usr/share/man/man8/kernbb.8.gz
 OLD_FILES+=usr/share/man/man8/ntp-genkeys.8.gz
+# 20040627: usbdevs.h and usbdevs_data.h removal
+OLD_FILES+=usr/include/dev/usb/usbdevs.h
+OLD_FILES+=usr/include/dev/usb/usbdevs_data.h
 # 200406XX
 OLD_FILES+=usr/bin/gasp
 OLD_FILES+=usr/bin/gdbreplay
@@ -3551,8 +3554,6 @@
 OLD_FILES+=usr/bin/hesinfo
 OLD_FILES+=usr/include/c++/3.4/ext/demangle.h
 OLD_FILES+=usr/include/cam/cam_extend.h
-OLD_FILES+=usr/include/dev/usb/usbdevs.h
-OLD_FILES+=usr/include/dev/usb/usbdevs_data.h
 OLD_FILES+=usr/include/dev/wi/wi_hostap.h
 OLD_FILES+=usr/include/disktab.h
 OLD_FILES+=usr/include/g++/FlexLexer.h

==== //depot/projects/hammer/contrib/hostapd/ChangeLog#5 (text+ko) ====

@@ -1,5 +1,25 @@
 ChangeLog for hostapd
 
+2008-02-19 - v0.5.10
+	* fixed EAP-SIM and EAP-AKA message parser to validate attribute
+	  lengths properly to avoid potential crash caused by invalid messages
+	* fixed Reassociation Response callback processing when using internal
+	  MLME (driver_{hostap,devicescape,test}.c)
+	* fixed EAP-SIM/AKA realm processing to allow decorated usernames to
+	  be used
+	* added a workaround for EAP-SIM/AKA peers that include incorrect null
+	  termination in the username
+	* fixed EAP-SIM Start response processing for fast reauthentication
+	  case
+	* copy optional Proxy-State attributes into RADIUS response when acting
+	  as a RADIUS authentication server
+
+2007-12-02 - v0.5.9
+	* updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest
+	  draft (draft-ietf-emu-eap-gpsk-07.txt)
+	* fixed debugging code not to use potentially unaligned read to fetch
+	  IPv4 addresses
+
 2007-05-28 - v0.5.8
 	* updated driver_devicescape.c to build with the current
 	  wireless-dev.git tree and net/d80211 changes

==== //depot/projects/hammer/contrib/hostapd/Makefile#5 (text+ko) ====

@@ -313,6 +313,10 @@
 CFLAGS += -DCONFIG_IPV6
 endif
 
+ifdef CONFIG_DRIVER_RADIUS_ACL
+CFLAGS += -DCONFIG_DRIVER_RADIUS_ACL
+endif
+
 ifdef CONFIG_FULL_DYNAMIC_VLAN
 # define CONFIG_FULL_DYNAMIC_VLAN to have hostapd manipulate bridges
 # and vlan interfaces for the vlan feature.

==== //depot/projects/hammer/contrib/hostapd/README#4 (text+ko) ====

@@ -2,7 +2,7 @@
 	  Authenticator and RADIUS authentication server
 ================================================================
 
-Copyright (c) 2002-2007, Jouni Malinen <j at w1.fi> and contributors
+Copyright (c) 2002-2008, Jouni Malinen <j at w1.fi> and contributors
 All Rights Reserved.
 
 This program is dual-licensed under both the GPL version 2 and BSD

==== //depot/projects/hammer/contrib/hostapd/aes_wrap.c#4 (text+ko) ====

@@ -7,7 +7,7 @@
  * - AES-128 EAX mode encryption/decryption
  * - AES-128 CBC
  *
- * Copyright (c) 2003-2005, Jouni Malinen <j at w1.fi>
+ * Copyright (c) 2003-2007, 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
@@ -34,10 +34,11 @@
 
 /**
  * aes_wrap - Wrap keys with AES Key Wrap Algorithm (128-bit KEK) (RFC3394)
- * @kek: Key encryption key (KEK)
- * @n: Length of the wrapped key in 64-bit units; e.g., 2 = 128-bit = 16 bytes
- * @plain: Plaintext key to be wrapped, n * 64 bit
- * @cipher: Wrapped key, (n + 1) * 64 bit
+ * @kek: 16-octet Key encryption key (KEK)
+ * @n: Length of the plaintext key in 64-bit units; e.g., 2 = 128-bit = 16
+ * bytes
+ * @plain: Plaintext key to be wrapped, n * 64 bits
+ * @cipher: Wrapped key, (n + 1) * 64 bits
  * Returns: 0 on success, -1 on failure
  */
 int aes_wrap(const u8 *kek, int n, const u8 *plain, u8 *cipher)
@@ -93,9 +94,10 @@
 /**
  * aes_unwrap - Unwrap key with AES Key Wrap Algorithm (128-bit KEK) (RFC3394)
  * @kek: Key encryption key (KEK)
- * @n: Length of the wrapped key in 64-bit units; e.g., 2 = 128-bit = 16 bytes
- * @cipher: Wrapped key to be unwrapped, (n + 1) * 64 bit
- * @plain: Plaintext key, n * 64 bit
+ * @n: Length of the plaintext key in 64-bit units; e.g., 2 = 128-bit = 16
+ * bytes
+ * @cipher: Wrapped key to be unwrapped, (n + 1) * 64 bits
+ * @plain: Plaintext key, n * 64 bits
  * Returns: 0 on success, -1 on failure (e.g., integrity verification failed)
  */
 int aes_unwrap(const u8 *kek, int n, const u8 *cipher, u8 *plain)
@@ -167,28 +169,45 @@
 
 
 /**
- * omac1_aes_128 - One-Key CBC MAC (OMAC1) hash with AES-128 (aka AES-CMAC)
+ * omac1_aes_128_vector - One-Key CBC MAC (OMAC1) hash with AES-128
  * @key: 128-bit key for the hash operation
- * @data: Data buffer for which a MAC is determined
- * @data: Length of data buffer in bytes
+ * @num_elem: Number of elements in the data vector
+ * @addr: Pointers to the data areas
+ * @len: Lengths of the data blocks
  * @mac: Buffer for MAC (128 bits, i.e., 16 bytes)
  * Returns: 0 on success, -1 on failure
  */
-int omac1_aes_128(const u8 *key, const u8 *data, size_t data_len, u8 *mac)
+int omac1_aes_128_vector(const u8 *key, size_t num_elem,
+			 const u8 *addr[], const size_t *len, u8 *mac)
 {
 	void *ctx;
 	u8 cbc[BLOCK_SIZE], pad[BLOCK_SIZE];
-	const u8 *pos = data;
-	size_t i, left = data_len;
+	const u8 *pos, *end;
+	size_t i, e, left, total_len;
 
 	ctx = aes_encrypt_init(key, 16);
 	if (ctx == NULL)
 		return -1;
 	os_memset(cbc, 0, BLOCK_SIZE);
 
+	total_len = 0;
+	for (e = 0; e < num_elem; e++)
+		total_len += len[e];
+	left = total_len;
+
+	e = 0;
+	pos = addr[0];
+	end = pos + len[0];
+
 	while (left >= BLOCK_SIZE) {
-		for (i = 0; i < BLOCK_SIZE; i++)
+		for (i = 0; i < BLOCK_SIZE; i++) {
 			cbc[i] ^= *pos++;
+			if (pos >= end) {
+				e++;
+				pos = addr[e];
+				end = pos + len[e];
+			}
+		}
 		if (left > BLOCK_SIZE)
 			aes_encrypt(ctx, cbc, cbc);
 		left -= BLOCK_SIZE;
@@ -198,9 +217,15 @@
 	aes_encrypt(ctx, pad, pad);
 	gf_mulx(pad);
 
-	if (left || data_len == 0) {
-		for (i = 0; i < left; i++)
+	if (left || total_len == 0) {
+		for (i = 0; i < left; i++) {
 			cbc[i] ^= *pos++;
+			if (pos >= end) {
+				e++;
+				pos = addr[e];
+				end = pos + len[e];
+			}
+		}
 		cbc[left] ^= 0x80;
 		gf_mulx(pad);
 	}
@@ -212,6 +237,24 @@
 	return 0;
 }
 
+
+/**
+ * omac1_aes_128 - One-Key CBC MAC (OMAC1) hash with AES-128 (aka AES-CMAC)
+ * @key: 128-bit key for the hash operation
+ * @data: Data buffer for which a MAC is determined
+ * @data_len: Length of data buffer in bytes
+ * @mac: Buffer for MAC (128 bits, i.e., 16 bytes)
+ * Returns: 0 on success, -1 on failure
+ *
+ * This is a mode for using block cipher (AES in this case) for authentication.
+ * OMAC1 was standardized with the name CMAC by NIST in a Special Publication
+ * (SP) 800-38B.
+ */
+int omac1_aes_128(const u8 *key, const u8 *data, size_t data_len, u8 *mac)
+{
+	return omac1_aes_128_vector(key, 1, &data, &data_len, mac);
+}
+
 #endif /* CONFIG_NO_AES_OMAC1 */
 
 

==== //depot/projects/hammer/contrib/hostapd/aes_wrap.h#4 (text+ko) ====

@@ -7,7 +7,7 @@
  * - AES-128 EAX mode encryption/decryption
  * - AES-128 CBC
  *
- * Copyright (c) 2003-2005, Jouni Malinen <j at w1.fi>
+ * Copyright (c) 2003-2007, 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
@@ -24,6 +24,8 @@
 
 int aes_wrap(const u8 *kek, int n, const u8 *plain, u8 *cipher);
 int aes_unwrap(const u8 *kek, int n, const u8 *cipher, u8 *plain);
+int omac1_aes_128_vector(const u8 *key, size_t num_elem,
+			 const u8 *addr[], const size_t *len, u8 *mac);
 int omac1_aes_128(const u8 *key, const u8 *data, size_t data_len, u8 *mac);
 int aes_128_encrypt_block(const u8 *key, const u8 *in, u8 *out);
 int aes_128_ctr_encrypt(const u8 *key, const u8 *nonce,

==== //depot/projects/hammer/contrib/hostapd/common.c#4 (text+ko) ====

@@ -20,7 +20,6 @@
 #ifdef CONFIG_DEBUG_FILE
 static FILE *out_file = NULL;
 #endif /* CONFIG_DEBUG_FILE */
-int wpa_debug_use_file = 0;
 int wpa_debug_level = MSG_INFO;
 int wpa_debug_show_keys = 0;
 int wpa_debug_timestamp = 0;
@@ -344,32 +343,29 @@
 }
 
 
-int wpa_debug_open_file(void)
+int wpa_debug_open_file(const char *path)
 {
 #ifdef CONFIG_DEBUG_FILE
-	static int count = 0;
-	char fname[64];
-	if (!wpa_debug_use_file)
+	if (!path)
 		return 0;
-#ifdef _WIN32
-	os_snprintf(fname, sizeof(fname), "\\Temp\\wpa_supplicant-log-%d.txt",
-		    count++);
-#else /* _WIN32 */
-	os_snprintf(fname, sizeof(fname), "/tmp/wpa_supplicant-log-%d.txt",
-		    count++);
+	out_file = fopen(path, "a");
+	if (out_file == NULL) {
+		wpa_printf(MSG_ERROR, "wpa_debug_open_file: Failed to open "
+			   "output file, using standard output");
+		return -1;
+	}
+#ifndef _WIN32
+	setvbuf(out_file, NULL, _IOLBF, 0);
 #endif /* _WIN32 */
-	out_file = fopen(fname, "w");
-	return out_file == NULL ? -1 : 0;
-#else /* CONFIG_DEBUG_FILE */
+#endif /* CONFIG_DEBUG_FILE */
 	return 0;
-#endif /* CONFIG_DEBUG_FILE */
 }
 
 
 void wpa_debug_close_file(void)
 {
 #ifdef CONFIG_DEBUG_FILE
-	if (!wpa_debug_use_file)
+	if (!out_file)
 		return;
 	fclose(out_file);
 	out_file = NULL;

==== //depot/projects/hammer/contrib/hostapd/common.h#5 (text+ko) ====

@@ -264,12 +264,12 @@
 #define wpa_hexdump_key(l,t,b,le) do { } while (0)
 #define wpa_hexdump_ascii(l,t,b,le) do { } while (0)
 #define wpa_hexdump_ascii_key(l,t,b,le) do { } while (0)
-#define wpa_debug_open_file() do { } while (0)
+#define wpa_debug_open_file(p) do { } while (0)
 #define wpa_debug_close_file() do { } while (0)
 
 #else /* CONFIG_NO_STDOUT_DEBUG */
 
-int wpa_debug_open_file(void);
+int wpa_debug_open_file(const char *path);
 void wpa_debug_close_file(void);
 
 /**

==== //depot/projects/hammer/contrib/hostapd/defconfig#4 (text+ko) ====

@@ -102,3 +102,7 @@
 
 # Build IPv6 support for RADIUS operations
 CONFIG_IPV6=y
+
+# Use the hostapd's IEEE 802.11 authentication (ACL), but without
+# the IEEE 802.11 Management capability
+CONFIG_DRIVER_RADIUS_ACL=y

==== //depot/projects/hammer/contrib/hostapd/driver.h#4 (text+ko) ====

@@ -141,6 +141,10 @@
 	 * this handler will be called after initial setup has been completed.
 	 */
 	int (*commit)(void *priv);
+
+	int (*set_radius_acl_auth)(void *priv, const u8 *mac, int accepted, 
+			u32 session_timeout);
+	int (*set_radius_acl_expire)(void *priv, const u8 *mac);
 };
 
 static inline int
@@ -653,4 +657,22 @@
 	return hapd->driver->commit(hapd->driver);
 }
 
+static inline int 
+hostapd_set_radius_acl_auth(struct hostapd_data *hapd, const u8 *mac, int accepted, 
+	u32 session_timeout)
+{
+	if (hapd->driver == NULL || hapd->driver->set_radius_acl_auth == NULL)
+		return 0;
+	return hapd->driver->set_radius_acl_auth(hapd->driver, mac, accepted,
+						 session_timeout);
+}
+
+static inline int 
+hostapd_set_radius_acl_expire(struct hostapd_data *hapd, const u8 *mac)
+{
+	if (hapd->driver == NULL || hapd->driver->set_radius_acl_expire == NULL)
+		return 0;
+	return hapd->driver->set_radius_acl_expire(hapd->driver, mac);
+}
+
 #endif /* DRIVER_H */

==== //depot/projects/hammer/contrib/hostapd/driver_test.c#4 (text+ko) ====

@@ -170,9 +170,10 @@
 	u16 fc;
 
 	if (drv->test_socket < 0 || len < 10 || drv->socket_dir == NULL) {
-		wpa_printf(MSG_DEBUG, "%s: invalid parameters (sock=%d len=%d "
-			   "socket_dir=%p)",
-			   __func__, drv->test_socket, len, drv->socket_dir);
+		wpa_printf(MSG_DEBUG, "%s: invalid parameters (sock=%d len=%lu"
+			   " socket_dir=%p)",
+			   __func__, drv->test_socket, (unsigned long) len,
+			   drv->socket_dir);
 		return -1;
 	}
 

==== //depot/projects/hammer/contrib/hostapd/eap_aka.c#2 (text+ko) ====

@@ -1,6 +1,6 @@
 /*
  * hostapd / EAP-AKA (RFC 4187)
- * Copyright (c) 2005-2007, Jouni Malinen <j at w1.fi>
+ * Copyright (c) 2005-2008, 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
@@ -124,6 +124,14 @@
 				      sm->identity_len)) {
 		wpa_printf(MSG_DEBUG, "   AT_PERMANENT_ID_REQ");
 		eap_sim_msg_add(msg, EAP_SIM_AT_PERMANENT_ID_REQ, 0, NULL, 0);
+	} else {
+		/*
+		 * RFC 4187, Chap. 4.1.4 recommends that identity from EAP is
+		 * ignored and the AKA/Identity is used to request the
+		 * identity.
+		 */
+		wpa_printf(MSG_DEBUG, "   AT_ANY_ID_REQ");
+		eap_sim_msg_add(msg, EAP_SIM_AT_ANY_ID_REQ, 0, NULL, 0);
 	}
 	return eap_sim_msg_finish(msg, reqDataLen, NULL, NULL, 0);
 }
@@ -445,10 +453,16 @@
 		sm->method_pending = METHOD_PENDING_NONE;
 	}
 
+	identity_len = sm->identity_len;
+	while (identity_len > 0 && sm->identity[identity_len - 1] == '\0') {
+		wpa_printf(MSG_DEBUG, "EAP-AKA: Workaround - drop last null "
+			   "character from identity");
+		identity_len--;
+	}
 	wpa_hexdump_ascii(MSG_DEBUG, "EAP-AKA: Identity for MK derivation",
-			  sm->identity, sm->identity_len);
+			  sm->identity, identity_len);
 
-	eap_aka_derive_mk(sm->identity, sm->identity_len, data->ik, data->ck,
+	eap_aka_derive_mk(sm->identity, identity_len, data->ik, data->ck,
 			  data->mk);
 	eap_sim_derive_keys(data->mk, data->k_encr, data->k_aut, data->msk,
 			    data->emsk);

==== //depot/projects/hammer/contrib/hostapd/eap_gpsk.c#2 (text+ko) ====

@@ -1,5 +1,5 @@
 /*
- * hostapd / EAP-GPSK (draft-ietf-emu-eap-gpsk-03.txt) server
+ * hostapd / EAP-GPSK (draft-ietf-emu-eap-gpsk-08.txt) server
  * Copyright (c) 2006-2007, Jouni Malinen <j at w1.fi>
  *
  * This program is free software; you can redistribute it and/or modify
@@ -23,15 +23,15 @@
 struct eap_gpsk_data {
 	enum { GPSK_1, GPSK_3, SUCCESS, FAILURE } state;
 	u8 rand_server[EAP_GPSK_RAND_LEN];
-	u8 rand_client[EAP_GPSK_RAND_LEN];
+	u8 rand_peer[EAP_GPSK_RAND_LEN];
 	u8 msk[EAP_MSK_LEN];
 	u8 emsk[EAP_EMSK_LEN];
 	u8 sk[EAP_GPSK_MAX_SK_LEN];
 	size_t sk_len;
 	u8 pk[EAP_GPSK_MAX_PK_LEN];
 	size_t pk_len;
-	u8 *id_client;
-	size_t id_client_len;
+	u8 *id_peer;
+	size_t id_peer_len;
 	u8 *id_server;
 	size_t id_server_len;
 #define MAX_NUM_CSUITES 2
@@ -85,17 +85,17 @@
 	data->csuite_count = 0;
 	if (eap_gpsk_supported_ciphersuite(EAP_GPSK_VENDOR_IETF,
 					   EAP_GPSK_CIPHER_AES)) {
-		WPA_PUT_BE24(data->csuite_list[data->csuite_count].vendor,
+		WPA_PUT_BE32(data->csuite_list[data->csuite_count].vendor,
 			     EAP_GPSK_VENDOR_IETF);
-		WPA_PUT_BE24(data->csuite_list[data->csuite_count].specifier,
+		WPA_PUT_BE16(data->csuite_list[data->csuite_count].specifier,
 			     EAP_GPSK_CIPHER_AES);
 		data->csuite_count++;
 	}
 	if (eap_gpsk_supported_ciphersuite(EAP_GPSK_VENDOR_IETF,
 					   EAP_GPSK_CIPHER_SHA256)) {
-		WPA_PUT_BE24(data->csuite_list[data->csuite_count].vendor,
+		WPA_PUT_BE32(data->csuite_list[data->csuite_count].vendor,
 			     EAP_GPSK_VENDOR_IETF);
-		WPA_PUT_BE24(data->csuite_list[data->csuite_count].specifier,
+		WPA_PUT_BE16(data->csuite_list[data->csuite_count].specifier,
 			     EAP_GPSK_CIPHER_SHA256);
 		data->csuite_count++;
 	}
@@ -108,7 +108,7 @@
 {
 	struct eap_gpsk_data *data = priv;
 	free(data->id_server);
-	free(data->id_client);
+	free(data->id_peer);
 	free(data);
 }
 
@@ -174,8 +174,8 @@
 	wpa_printf(MSG_DEBUG, "EAP-GPSK: Request/GPSK-3");
 
 	miclen = eap_gpsk_mic_len(data->vendor, data->specifier);
-	len = 1 + 2 * EAP_GPSK_RAND_LEN + sizeof(struct eap_gpsk_csuite) + 2 +
-		miclen;
+	len = 1 + 2 * EAP_GPSK_RAND_LEN + 2 + data->id_server_len +
+		sizeof(struct eap_gpsk_csuite) + 2 + miclen;
 	req = eap_msg_alloc(EAP_VENDOR_IETF, EAP_TYPE_GPSK, reqDataLen,
 			    len, EAP_CODE_REQUEST, id, &pos);
 	if (req == NULL) {
@@ -188,13 +188,18 @@
 	*pos++ = EAP_GPSK_OPCODE_GPSK_3;
 	start = pos;
 
-	memcpy(pos, data->rand_client, EAP_GPSK_RAND_LEN);
+	memcpy(pos, data->rand_peer, EAP_GPSK_RAND_LEN);
 	pos += EAP_GPSK_RAND_LEN;
 	memcpy(pos, data->rand_server, EAP_GPSK_RAND_LEN);
 	pos += EAP_GPSK_RAND_LEN;
+	WPA_PUT_BE16(pos, data->id_server_len);
+	pos += 2;
+	if (data->id_server)
+		memcpy(pos, data->id_server, data->id_server_len);
+	pos += data->id_server_len;
 	csuite = (struct eap_gpsk_csuite *) pos;
-	WPA_PUT_BE24(csuite->vendor, data->vendor);
-	WPA_PUT_BE24(csuite->specifier, data->specifier);
+	WPA_PUT_BE32(csuite->vendor, data->vendor);
+	WPA_PUT_BE16(csuite->specifier, data->specifier);
 	pos += sizeof(*csuite);
 
 	/* no PD_Payload_2 */
@@ -282,7 +287,7 @@
 
 	if (end - pos < 2) {
 		wpa_printf(MSG_DEBUG, "EAP-GPSK: Too short message for "
-			   "ID_Client length");
+			   "ID_Peer length");
 		eap_gpsk_state(data, FAILURE);
 		return;
 	}
@@ -290,21 +295,21 @@
 	pos += 2;
 	if (end - pos < alen) {
 		wpa_printf(MSG_DEBUG, "EAP-GPSK: Too short message for "
-			   "ID_Client");
+			   "ID_Peer");
 		eap_gpsk_state(data, FAILURE);
 		return;
 	}
-	free(data->id_client);
-	data->id_client = malloc(alen);
-	if (data->id_client == NULL) {
+	free(data->id_peer);
+	data->id_peer = malloc(alen);
+	if (data->id_peer == NULL) {
 		wpa_printf(MSG_DEBUG, "EAP-GPSK: Not enough memory to store "
-			   "%d-octet ID_Client", alen);
+			   "%d-octet ID_Peer", alen);
 		return;
 	}
-	memcpy(data->id_client, pos, alen);
-	data->id_client_len = alen;
-	wpa_hexdump_ascii(MSG_DEBUG, "EAP-GPSK: ID_Client",
-			  data->id_client, data->id_client_len);
+	memcpy(data->id_peer, pos, alen);
+	data->id_peer_len = alen;
+	wpa_hexdump_ascii(MSG_DEBUG, "EAP-GPSK: ID_Peer",
+			  data->id_peer, data->id_peer_len);
 	pos += alen;
 
 	if (end - pos < 2) {
@@ -332,13 +337,13 @@
 
 	if (end - pos < EAP_GPSK_RAND_LEN) {
 		wpa_printf(MSG_DEBUG, "EAP-GPSK: Too short message for "
-			   "RAND_Client");
+			   "RAND_Peer");
 		eap_gpsk_state(data, FAILURE);
 		return;
 	}
-	memcpy(data->rand_client, pos, EAP_GPSK_RAND_LEN);
-	wpa_hexdump(MSG_DEBUG, "EAP-GPSK: RAND_Client",
-		    data->rand_client, EAP_GPSK_RAND_LEN);
+	memcpy(data->rand_peer, pos, EAP_GPSK_RAND_LEN);
+	wpa_hexdump(MSG_DEBUG, "EAP-GPSK: RAND_Peer",
+		    data->rand_peer, EAP_GPSK_RAND_LEN);
 	pos += EAP_GPSK_RAND_LEN;
 
 	if (end - pos < EAP_GPSK_RAND_LEN) {
@@ -397,13 +402,13 @@
 	if (i == data->csuite_count) {
 		wpa_printf(MSG_DEBUG, "EAP-GPSK: Peer selected unsupported "
 			   "ciphersuite %d:%d",
-			   WPA_GET_BE24(csuite->vendor),
-			   WPA_GET_BE24(csuite->specifier));
+			   WPA_GET_BE32(csuite->vendor),
+			   WPA_GET_BE16(csuite->specifier));
 		eap_gpsk_state(data, FAILURE);
 		return;
 	}
-	data->vendor = WPA_GET_BE24(csuite->vendor);
-	data->specifier = WPA_GET_BE24(csuite->specifier);
+	data->vendor = WPA_GET_BE32(csuite->vendor);
+	data->specifier = WPA_GET_BE16(csuite->specifier);
 	wpa_printf(MSG_DEBUG, "EAP-GPSK: CSuite_Sel %d:%d",
 		   data->vendor, data->specifier);
 	pos += sizeof(*csuite);	
@@ -434,8 +439,8 @@
 
 	if (eap_gpsk_derive_keys(sm->user->password, sm->user->password_len,
 				 data->vendor, data->specifier,
-				 data->rand_client, data->rand_server,
-				 data->id_client, data->id_client_len,
+				 data->rand_peer, data->rand_server,
+				 data->id_peer, data->id_peer_len,
 				 data->id_server, data->id_server_len,
 				 data->msk, data->emsk,
 				 data->sk, &data->sk_len,

==== //depot/projects/hammer/contrib/hostapd/eap_gpsk_common.c#2 (text+ko) ====


>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list