Commit Graph

614 Commits

Author SHA1 Message Date
kleink
079b94ad72 Avoid recursion with traditional cpp. 2000-07-28 12:13:32 +00:00
matt
5aba2fd87f Add a missing include when using this in user space. 2000-07-22 05:11:27 +00:00
onoe
f4aa4a560c add following two ioctls to handle WEP key for IEEE 802.11 wireless
LAN drivers: SIOCS80211NWKEY and SIOCG80211NWKEY.
2000-07-21 04:47:40 +00:00
pk
43b49b2283 Missing increment on ifp->if_pcount. 2000-07-20 22:00:48 +00:00
thorpej
9c881e00cb Add a SIOCGIFCLONERS ioctl, which fetches a list of network
interface cloners from the kernel.
2000-07-20 18:40:26 +00:00
onoe
0ab524f389 moved the check priviledge for SIOCS80211NWID from each driver to ifioctl().
it also fixes the problem that non-priviledged user can change nwid
for wi and ray drivers.
2000-07-19 06:00:39 +00:00
itojun
65d37eff7f correct RFC2367 PF_KEY conformance (SADB_[AE]ALG_xx values and namespaces).
sync from kame.

WARNING: need recompilation of setkey(8) and pkgsrc/security/racoon.
(no ipsec-ready netbsd was released as official release)
2000-07-18 14:56:42 +00:00
thorpej
5cae63e123 NetBSD -> __NetBSD__ in an #ifdef, and nuke sc_bpf; there's one in
the ifnet already.
2000-07-12 23:02:38 +00:00
itojun
29251eb71f remove #ifdef __FreeBSD__ or __bsdi__, as netbsd if_gif.c diverged a little
from kame tree
2000-07-06 12:56:26 +00:00
thorpej
9c86b65a92 Fix an omission in the gre cloning changes. 2000-07-05 22:45:25 +00:00
thorpej
4ec021cecf Make gre(4) a cloning network pseudo-device. 2000-07-05 18:14:13 +00:00
thorpej
7f86d18846 stf(4) is now a cloning network interface (although, only one is allowed
to be created).
2000-07-05 17:08:18 +00:00
thorpej
f7e579e2f7 Fix a memory leak in the gif_clone_create() error path. 2000-07-05 16:54:19 +00:00
onoe
807a12c8cd change the argument of SIOCS80211NWID and SIOCG80211NWID ioctls from
u_int8_t array to struct ieee80211_nwid to prepend length field.
The length field is necessary because IEEE 802.11 spec doesn't prohibit
even '\0' for SSID.
Though the name and the value of SIOC... macro is unchanged, this change
breaks binary compatibility.  The only affected userland program on the
tree is ifconfig(8).
As Jason suggested on tech-net, it is better than live with problems
since there are no releases for this ioctls yet.
2000-07-05 02:35:53 +00:00
thorpej
83e31f15b2 faith(4) is now a cloning pseudo-device. 2000-07-04 20:02:46 +00:00
thorpej
920e0d4a44 Don't allow IFF_PROMISC to be changed directly by userspace. It
interferes with the reference counting done by ifpromisc(), and is
essentially impossible to get the semantics correct if we allow this
flag to be directly toggled.

No programs should really be affected by this; IFF_PROMISC is basically
useless without bpf, anyway, and bpf still provides a way to set
promiscuous mode on an interface (which uses ifpromisc()).
2000-07-04 19:09:17 +00:00
thorpej
445487c8f3 Move ifpromimsc() to if.c 2000-07-04 18:46:49 +00:00
thorpej
464c773f27 Oops, restrict SIOCIF{CREATE,DESTROY} to super-user. 2000-07-04 01:51:22 +00:00
cgd
116f7a6983 don't include the config-generated headers if _LKM defined 2000-07-03 02:16:07 +00:00
cgd
ca8479389a oops! include arp.h and ppp.h even if _LOCORE defined 2000-07-02 19:58:31 +00:00
sommerfeld
4cc38b65e0 Reduce namespace pollution from netcciitt-land 2000-07-02 17:40:18 +00:00
sommerfeld
c93db19567 Merge if_spppsubr.c PPP protocol declarations list with the one found
in ppp_defs.h, and have if_spppsubr.c include ppp_defs.h rather than
duplicate its definitions.

[This is a stopgap measure to clean up build lossage.]
2000-07-02 17:38:09 +00:00
cgd
a5c13f9ad4 Kwality control:
* put #includes of opt headers and headers to get protos used by
  net/netisr_dispatch.h in net/netisr.h (if !defined(_LOCORE)) (rather than
  in netisr_dispatch.h itself, and potentially nowhere, respectively).
* require netisr.h to be included before netisr_dispatch.h.
* minor additional cleanup of both netisr.h and netisr_dispatch.h.
* clean up uses to remove now-unnecessary header file inclusions, and
  local prototypes of the fns.
* convert netisr dispatch implementations which didn't use
  netisr_dispatch.h (pc532) to use it.
2000-07-02 04:40:33 +00:00
thorpej
b36ce94c6b Convert `gif' to be a cloning interface. 2000-07-02 00:21:42 +00:00
thorpej
1e58f22342 Add the notion of "cloning" of network pseudo-interface (e.g. `gif').
This allows them to be created and destroyed on the fly via ifconfig(8),
rather than specifying the count in the kernel configuration file.
2000-07-02 00:20:48 +00:00
itojun
d407c7e3ec nuke sadb_x_ident_id, wihich violates pfkey standard.
correct get/set SA handling.
(from kame)
2000-07-01 01:01:34 +00:00
mrg
8e3207b69a <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 02:53:49 +00:00
kleink
5de786e04a Define sa_family_t and use it for sdl_family. 2000-06-26 15:59:20 +00:00
itojun
948e11b707 allow IPv[46]-over-IPv6 setting properly. sync with kame. 2000-06-20 15:59:35 +00:00
matt
215470b24c Ansify before committing my next change. 2000-06-17 20:57:20 +00:00
mycroft
fbb147f69b Check the multicast bit in the header mbuf while interrupts are still blocked.
Otherwise we can run off into space if the packet was sent immediately and the
mbuf freed.
Pointed out by Boris Popov (not on our lists).
2000-06-14 05:10:27 +00:00
itojun
92e64a4a0d sync with almost-latest KAME IPsec. full changelog would be too big
to mention here.  notable changes are like below.

kernel:
- make PF_KEY kernel interface more robust against broken input stream.
  it includes complete internal structure change in sys/netkey/key.c.
- remove non-RFC compliant change in PF_KEY API, in particular,
  in struct sadb_msg.  we cannot just change these standard structs.
  sadb_x_sa2 is introduced instead.
- remove prototypes for pfkey_xx functions from /usr/include/net/pfkeyv2.h.
  these functions are not supplied in /usr/lib.

setkey(8):
- get/delete does not require "-m mode" (ignored with warning, if you
  specify it)
- spddelete takes direction specification
2000-06-12 10:40:37 +00:00
itojun
3fff705c2a update i-d #. (sync with kame) 2000-06-10 08:02:20 +00:00
onoe
4da3935bae cleanup haeders.
add opt_awi.h to define AWI_DEBUG, AWI_WEP_ARC4.
show the firmware version at attach.
create a framework to support WEP (encryption code is not included for now).
a new wiconfig compatible ioctl interface replaced the awictl interface.
fix memory leak in selecting AP
fix bugs in ESSID selection
changes from FreeBSD-current by Warner Losh:
  revision 1.2
  date: 2000/04/17 22:58:15;  author: imp;  state: Exp;  lines: +16 -1
  Provide mem* for compat with NetBSD to fix LINT
fixes from FreeBSD-current by Guido van Rooij:
  revision 1.4
  date: 2000/05/29 19:58:10;  author: guido;  state: Exp;  lines: +5 -2
  Fix a panic resulting from an obvious null pointer deref.
  Apparently some other panics still exist in this driver, but with
  this fix, it was at least possible to run the Nokia card at SANE 2000.
2000-06-09 05:31:15 +00:00
jhawk
8a49d6bd31 Ensure that all callers of pfind() can deal with pfind(0) returning
a real procp* rather than NULL.
2000-05-28 18:17:07 +00:00
matt
5108d90ce5 Fix bpf output on fddi to actually work. Make it compatible with ULTRIX
and Tru64.
2000-05-28 02:49:35 +00:00
itojun
4631e5d720 improve duplicated 'gifconfig" check (fatal typo was there). sync with kame. 2000-05-17 01:14:04 +00:00
itojun
3c67584219 propose better IPv6 ifid alternative to the peer, when ifid collides
during IPv6CP negotiation.  it is very rare to see collision.
2000-05-16 05:45:27 +00:00
itojun
3a44ebc43c backout previous (packed attribute to struct ifreq) 2000-05-15 16:59:37 +00:00
itojun
3df6dbc4c7 add packed attribute to struct ifreq. this should avoid unaligned access
while parsing SIOCGIFCONF, on alignment-picky archs.
2000-05-15 16:45:50 +00:00
itojun
2e9df64fa3 sync IPv4 rogue address filter with RFC1122. (sync with kame) 2000-05-14 03:44:02 +00:00
thorpej
5e6bec6a7e - Fix a bug in the double-loop version of ether_crc32_le() -- we're not't
supposed to bubble carry through.
- Disable the double-loop version of ether_crc32_le() and add a
  table-driven version of ether_crc32_le() -- the table-driven
  version is faster.
2000-05-12 16:22:36 +00:00
jonathan
c35d2c43a6 Make BPF_BUFSIZE overridable: 8192 is smaller than MTU of some devices.
TODO: defopt, or make sysctl'able (c.f. FreeBSD).
2000-05-12 05:58:01 +00:00
ragge
8a9c114515 Change rt_refcnt from short to int, to allow more than 32k routes thru
one interface without unexpected side effects.
2000-05-04 17:33:03 +00:00
itojun
aee9bb5b5f IPv6CP support. if IPv6 link-local address is configured to the interface,
the interface tries to negotiate ifid with the other end by using IPv6CP.

other changes:
- do not share ppp sequence number across protocols.
- if LCP proto-rej is received, drop the protocol mentioned by the message.
  this is to be friendly with non-IPv6 peer (if the peer complains due to
  lack of IPv6CP, drop IPv6CP).  this basically implements "RXJ+" state
  transition in the RFC.
- cleanup debugging message.  always print blank just before message.

CAVEAT:
- if the peer uses the same MAC address as our side (pretty unlikely)
  the code may go into req-rej loop.
- even though we negotiate ifid, we don't configure destination address
  onto the interface.  it is not really necessary to do so (IMHO).
- I've tested this code on a NetBSD 1.4.2 node, which was with fair amount
  of modifications.  not sure if the committed code does it right... (please
  test and send reports)
2000-05-02 12:43:16 +00:00
bouyer
4e9473a1e7 ifa_ifwithnet(): for the netatalk case, don't blindly return the first match
but try to find a exact match first. Closes kern/9957.
2000-04-26 13:38:13 +00:00
itojun
eaeb53372e update comment (analysis on 04 draft) 2000-04-21 02:40:53 +00:00
itojun
d300ce3942 add net/if_stf.h and netinet/ip_encap.h (almost noone will include them though) 2000-04-19 06:39:15 +00:00
itojun
3909133548 introduce sys/netinet/ip_encap.c, to dispatch inbound packets
to protocol handlers, based on src/dst (for ip proto #4/41).
see comment in ip_encap.c for details of the problem we have.
there are too many protocol specs for ip proto #4/41.
backward compatibility with MROUTING case is now provided in ip_encap.c.

fix ipip to work with gif (using ip_encap.c).  sorry for breakage.

gif now uses ip_encap.c.

introduce stf pseudo interface (implements 6to4, another IPv6-over-IPv4 code
with ip proto #41).
2000-04-19 06:30:51 +00:00
itojun
5e5941eda1 remove extra memory region kept by "struct pfil_head pfil_head_t;".
it seems totally, unnecessary, or seems to be typo for typedef.
(correct me if i'm wrong)
2000-04-19 04:46:23 +00:00