xref: /dflybsd-src/share/man/man9/ieee80211_crypto.9 (revision ff66a890e4594f818c3bde7c7740e14fa41fb876)
1*ff66a890SHiten Pandya.\"
2*ff66a890SHiten Pandya.\" Copyright (c) 2004 Bruce M. Simpson <bms@spc.org>
3*ff66a890SHiten Pandya.\" Copyright (c) 2004 Darron Broad <darron@kewl.org>
4*ff66a890SHiten Pandya.\" All rights reserved.
5*ff66a890SHiten Pandya.\"
6*ff66a890SHiten Pandya.\" Redistribution and use in source and binary forms, with or without
7*ff66a890SHiten Pandya.\" modification, are permitted provided that the following conditions
8*ff66a890SHiten Pandya.\" are met:
9*ff66a890SHiten Pandya.\" 1. Redistributions of source code must retain the above copyright
10*ff66a890SHiten Pandya.\"    notice, this list of conditions and the following disclaimer.
11*ff66a890SHiten Pandya.\" 2. Redistributions in binary form must reproduce the above copyright
12*ff66a890SHiten Pandya.\"    notice, this list of conditions and the following disclaimer in the
13*ff66a890SHiten Pandya.\"    documentation and/or other materials provided with the distribution.
14*ff66a890SHiten Pandya.\"
15*ff66a890SHiten Pandya.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16*ff66a890SHiten Pandya.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17*ff66a890SHiten Pandya.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18*ff66a890SHiten Pandya.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19*ff66a890SHiten Pandya.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20*ff66a890SHiten Pandya.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21*ff66a890SHiten Pandya.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22*ff66a890SHiten Pandya.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23*ff66a890SHiten Pandya.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24*ff66a890SHiten Pandya.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25*ff66a890SHiten Pandya.\" SUCH DAMAGE.
26*ff66a890SHiten Pandya.\"
27*ff66a890SHiten Pandya.\" $FreeBSD$
28*ff66a890SHiten Pandya.\" $DragonFly: src/share/man/man9/ieee80211_crypto.9,v 1.1 2004/07/27 14:50:56 hmp Exp $
29*ff66a890SHiten Pandya.\" $Id: ieee80211_crypto.9,v 1.2 2004/07/07 12:59:39 ru Exp $
30*ff66a890SHiten Pandya.\"
31*ff66a890SHiten Pandya.Dd March 2, 2004
32*ff66a890SHiten Pandya.Dt IEEE80211_CRYPTO 9
33*ff66a890SHiten Pandya.Os
34*ff66a890SHiten Pandya.Sh NAME
35*ff66a890SHiten Pandya.Nm ieee80211_crypto_attach , ieee80211_crypto_detach , ieee80211_wep_crypt
36*ff66a890SHiten Pandya.Nd 802.11 WEP encryption functions
37*ff66a890SHiten Pandya.Sh SYNOPSIS
38*ff66a890SHiten Pandya.Ft void
39*ff66a890SHiten Pandya.Fn ieee80211_crypto_attach "struct ifnet *ifp"
40*ff66a890SHiten Pandya.Ft void
41*ff66a890SHiten Pandya.Fn ieee80211_crypto_detach "struct ifnet *ifp"
42*ff66a890SHiten Pandya.Ft struct mbuf *
43*ff66a890SHiten Pandya.Fn ieee80211_wep_crypt "struct ifnet *ifp" "struct mbuf *m0" "int txflag"
44*ff66a890SHiten Pandya.Sh DESCRIPTION
45*ff66a890SHiten PandyaThese functions provide software encryption support
46*ff66a890SHiten Pandyafor 802.11 device drivers.
47*ff66a890SHiten Pandya.Pp
48*ff66a890SHiten Pandya.\"
49*ff66a890SHiten PandyaThe
50*ff66a890SHiten Pandya.Fn ieee80211_crypto_attach
51*ff66a890SHiten Pandyafunction initializes crypto support for the interface
52*ff66a890SHiten Pandya.Fa ifp ,
53*ff66a890SHiten Pandyaand sets the initialization vector (IV) for WEP encryption to
54*ff66a890SHiten Pandyaa random number derived from a secure PRNG.
55*ff66a890SHiten Pandya.Pp
56*ff66a890SHiten Pandya.\"
57*ff66a890SHiten PandyaThe
58*ff66a890SHiten Pandya.Fn ieee80211_crypto_detach
59*ff66a890SHiten Pandyafunction frees data structures associated with crypto support
60*ff66a890SHiten Pandyafor the interface
61*ff66a890SHiten Pandya.Fa ifp .
62*ff66a890SHiten Pandya.Pp
63*ff66a890SHiten Pandya.\"
64*ff66a890SHiten PandyaThe
65*ff66a890SHiten Pandya.Fn ieee80211_wep_crypt
66*ff66a890SHiten Pandyafunction runs the appropriate WEP encryption algorithm over the 802.11
67*ff66a890SHiten Pandyaencapsulated frame held in the mbuf chain
68*ff66a890SHiten Pandya.Fa m0 ,
69*ff66a890SHiten Pandyafor transmission or reception on the interface
70*ff66a890SHiten Pandya.Fa ifp .
71*ff66a890SHiten PandyaThe
72*ff66a890SHiten Pandya.Fa txflag
73*ff66a890SHiten Pandyaargument specifies whether the frame is being received or transmitted.
74*ff66a890SHiten PandyaA value of 0 indicates that the frame is being received and should
75*ff66a890SHiten Pandyatherefore be decrypted; a non-zero value indicates that the frame
76*ff66a890SHiten Pandyais being transmitted
77*ff66a890SHiten Pandyaand should be encrypted.
78*ff66a890SHiten Pandya.\"
79*ff66a890SHiten Pandya.Sh IMPLEMENTATION NOTES
80*ff66a890SHiten PandyaThe
81*ff66a890SHiten Pandya.Fn ieee80211_wep_crypt
82*ff66a890SHiten Pandyafunction stores its IV in the interface's embedded
83*ff66a890SHiten Pandya.Vt struct ieee80211com
84*ff66a890SHiten Pandyainstance.
85*ff66a890SHiten Pandya.Sh SEE ALSO
86*ff66a890SHiten Pandya.Xr awi 4 ,
87*ff66a890SHiten Pandya.Xr wi 4 ,
88*ff66a890SHiten Pandya.Xr arc4random 9 ,
89*ff66a890SHiten Pandya.Xr ieee80211 9 ,
90*ff66a890SHiten Pandya.Xr ifnet 9
91*ff66a890SHiten Pandya.Sh HISTORY
92*ff66a890SHiten PandyaThe
93*ff66a890SHiten Pandya.Nm ieee80211
94*ff66a890SHiten Pandyaseries of functions first appeared in
95*ff66a890SHiten Pandya.Nx 1.5 ,
96*ff66a890SHiten Pandyaand were later ported to
97*ff66a890SHiten Pandya.Fx 4.6 .
98*ff66a890SHiten Pandya.Sh AUTHORS
99*ff66a890SHiten Pandya.An -nosplit
100*ff66a890SHiten PandyaThis man page was written by
101*ff66a890SHiten Pandya.An Bruce M. Simpson Aq bms@FreeBSD.org
102*ff66a890SHiten Pandyaand
103*ff66a890SHiten Pandya.An Darron Broad Aq darron@kewl.org .
104