christos
118a33df24
- Fix indentation of the nested conditionals. It was inconsistent in places.
...
- Make this compile and work without IPFILTER_LOG, and disable logging by
default. This can be re-enabled now as a kernel option.
1997-04-15 00:44:42 +00:00
christos
ae60a7c343
Fix SPLNET() conditional to work for NetBSD1_0+, not just the named versions.
1997-04-15 00:42:54 +00:00
christos
0659cacda6
Move the mtod calls *after* we've made sure that the packet has passed the
...
filter successfully. Otherwise it can be NULL if the filter blocked it,
and we die. How did this ever work?
1997-04-15 00:41:52 +00:00
jtk
e096ee0e10
add newlines at end of debugging log messages which were missing them
1997-04-07 01:48:30 +00:00
cgd
ce54b19fd3
include <stdlib.h> if !_KERNEL for malloc declaration/proto
1997-04-04 01:53:22 +00:00
cgd
c492daaa6e
fix ... potentially fatal typo (s/unix/unit/)
1997-04-03 00:57:03 +00:00
augustss
c56286529c
Make it compile again by removing a cast to void of KFREE(). KFREE expands
...
to a statement, not an expression.
1997-04-01 00:07:07 +00:00
thorpej
0684baea63
Define control device names here; they're needed by kernel and userland.
1997-03-29 19:50:51 +00:00
darrenr
4d1eb7820e
use IPLLOG instead of ipllog to easily mask parameters, fix up prototype
...
problems for compiling to user programs.
1997-03-29 04:39:15 +00:00
thorpej
169a339c7d
Centralize the check for NetBSD PFIL_HOOKS code into ip_fil.h, and use
...
it consistently.
1997-03-29 03:05:14 +00:00
thorpej
7845ea0d16
Fix an ... interesting bug that resulted from namespace collision.
...
Description:
- A BSD pseudo-device initialization routine is declared as
void <pseudo-device name>attach __P((int count));
in ioconf.c by config(8). main() calls these functions
from a table.
- IP Filter has functions iplattach() and ipldetach() (or,
in the NetBSD case, were erroneously renamed ipfilterattach()
and ipfilterdetach()). These functions are used to establish
and disestablish the IP Filter "filter rule check" hook in
the IP input/output stream. They are declared:
int iplattach __P((void));
int ipldetach __P((void));
..and are expected to return a value by iplioctl().
- When main() calls (by sheer coincidence!) iplattach(),
the filter hook is established, and the IP Filter machinery
labeled as "initialized". This causes all packets, whether or
not the user intents to use filter rules, to be passed to
the filter rule checker if "ipfilter" is configured into the
kernel.
- As a result of the above, a kludge existed to default to
passing all packets (I can only assume that when this was
originally committed, the symptom of the bug was noticed by
the integrator, but the bug not actually found/fixed).
- In iplioctl(), if the SIOCFRENB ioctl is issued with an
argument of "enable" (i.e. user executed "ipf -E"), iplattach()
will notice that the machinery is already initialized and
return EBUSY.
Fix:
- Rename iplattach()/ipldetach() to ipl_enable() and ipl_disable().
- Create a pseudo-device entry stub named ipfilterattach()
(NetBSD case) or iplattach() (all other). This is a noop; none
of the machinery should be initialized until the caller expicitly
enables the filter with ipf -E. Add a comment to note that.
1997-03-29 01:57:55 +00:00
thorpej
f30d8f327f
Resolve conflicts from merge.
...
XXX !!! XXX !!!
I noticed a few semi-serious bugs while doing this merge, one of which
has existed for a fairly long time. Some of them are addressed in this
commit (because they caused the kernel to not compile), and are annoted
by "XXX" and "--thorpej". The other one will be addressed shortly in
a future commit, and, as far as I can tell, affects all operating systems
which IP Filter supports.
1997-03-29 00:54:55 +00:00
is
4555777c80
Fix several bugs related to the new ARP code, and ARCnet ARP support.
...
Among other, add ARPHRD_ARCNET definition, make sure the hardware type is
set on outgoing ARP packets, make sure we dont send out replies as broadcasts.
1997-03-23 01:22:35 +00:00
cgd
a8bb00476f
ioctl commands are u_longs
1997-03-18 07:14:45 +00:00
is
57f2f47e2c
move if_arc.h to sys/net
1997-03-16 23:27:07 +00:00
is
07b064e02e
New ARP system, supports IPv4 over any hardware link.
...
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.
For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
mrg
78cd2f6f78
allow src-routed packetd by default, per host requirements
1997-02-26 04:09:32 +00:00
cjs
8a449a258b
Add net.inet.ip.allowsrcrt option which allows/drops all source
...
routed packets. This currently defaults to `drop,' but once we
verify that all applications that rely on determining remote IP
addresses for authentication are dropping the connection when they
see a source route option (not just disabling the source route
option), we can turn this back on and conform with the host
requirements.
1997-02-25 08:35:41 +00:00
scottr
54b157939d
Don't include ipfilter.h if building an LKM.
1997-02-19 23:07:57 +00:00
cjs
788bcc9857
Fix bug in sysctl net.inet.ip.forwsrcrt handing: now you can read it
...
if securelevel > 0. (Thanks, cgd.)
1997-02-19 08:30:04 +00:00
mrg
4c8bfe2630
pseudo-device ipfilter brings in PFIL_HOOKS.
1997-02-18 20:49:32 +00:00
thorpej
b21c166228
ioctl cmd arguments are u_long, not int. Pointed out by
...
Fred L. Templin <templin@nas.nasa.gov>
1997-01-29 02:16:23 +00:00
mikel
9be91c7fb4
fix my typo; found by Klaus Klein <kleink@layla.inka.de>
1997-01-17 17:06:06 +00:00
mikel
313f6180e6
add prototypes for ethers(3) functions; fixes PR 2471.
...
fix suggested by Jason Thorpe.
1997-01-17 08:17:57 +00:00
gwr
e1cb27e32f
sync with if_ether.h
1997-01-15 18:19:35 +00:00
thorpej
9df1988ac8
Implement the IP_RECVIF socket option: supply a datagram packet's incoming
...
interface using a sockaddr_dl in a control mbuf.
Implement SO_TIMESTAMP for IP datagrams.
Move packet information option processing into a generic function
so that they work with multicast UDP and raw IP as well as unicast UDP.
Contributed by Bill Fenner <fenner@parc.xerox.com>.
1997-01-11 05:21:07 +00:00
veego
d61e3f8c25
ipl[attach|detach]->ipfilter[attach|detach] for the pseudo-device change
1997-01-08 21:45:39 +00:00
mrg
9cc6a2a495
remove some old debugging statements.
1997-01-07 10:51:01 +00:00
veego
473d4f54d1
Add $NetBSD$ id's and restore the orginal Id's.
1997-01-05 21:32:18 +00:00
veego
25bcda3b52
Add $NetBSD$ id's and restore the orginal Id's.
1997-01-05 21:32:17 +00:00
veego
47517abd07
Add $NetBSD$ id's and restore the orginal Id's.
1997-01-05 21:32:14 +00:00
mrg
c1067a3f4b
initial import of darren reed's ip-filter, version 3.1.2.
1997-01-05 13:47:59 +00:00
mrg
5e5291f97b
always reassign ip after calling function.
1996-12-20 09:08:16 +00:00
mrg
04ce281a19
in pfil_hooks: always reassign ip after calling hook.
1996-12-20 09:08:14 +00:00
mrg
15eaee8d6f
in pfil_hooks: always reassign ip after calling hook.
1996-12-20 08:39:29 +00:00
mrg
a24be0b669
remove pfil_bad.
1996-12-20 08:39:27 +00:00
mycroft
ef60fc0bad
Minor change to a comment.
1996-12-11 01:55:50 +00:00
mycroft
315bb1ab50
Fix RTT scaling problems introduced with Brakmo and Peterson changes.
1996-12-10 18:20:19 +00:00
mycroft
a26a19aeda
Return EAGAIN if binding with no specified port and the pool is empty.
1996-12-10 11:38:42 +00:00
thorpej
096b0d6c6e
In udp_output(), sanity check the length of the packet to be transmitted.
...
If it's larger than IP_MAXPACKET, return an error condition.
Based on a patch from Bill Fenner <fenner@parc.xerox.com>
1996-10-25 06:35:16 +00:00
thorpej
59bbc2199e
In rip_output(), sanity check the length of the packet to be transmitted.
...
If it's larger than IP_MAXPACKET, return an error condition.
Based on a patch from Bill Fenner <fenner@parc.xerox.com>
1996-10-25 06:33:36 +00:00
thorpej
e55c8a9c7e
Before concatenating frags, sanity check the length of the packet. If it's
...
larger than IP_MAXPACKET, discard it.
Based on a patch from Bill Fenner <fenner@parc.xerox.com>
1996-10-25 06:30:32 +00:00
thorpej
65c188b3c7
Make length and offset fields unsigned. From Kevin M. Lahey <kml@nas.nasa.gov>
...
Add a counter to IP stats, to count packets which are discarded on the
grounds that they are too large.
1996-10-25 06:24:16 +00:00
thorpej
ee34a9ab6d
Make length and offset fields unsigned. From Kevin M. Lahey <kml@nas.nasa.gov>
1996-10-25 06:22:24 +00:00
veego
b962d9a3eb
Fix a panic from the pfil_hooks.
1996-10-22 11:27:05 +00:00
ws
31bdb14ed5
Rename recently checked in KGDB to IPKDB to resolve conflicts with older KGDB
1996-10-16 19:32:08 +00:00
christos
ad67e04154
backout previous kprintf change
1996-10-13 16:50:51 +00:00
christos
5545959d0b
backout previous kprintf changes
1996-10-13 02:03:00 +00:00
is
08899f4a1b
Fix a mbuf leak in ip_output().
...
Scenario: If ip_insertoptions() prepends a new mbuf to the chain, the
bad: label's m_freem(m0) still would free only the original mbuf chain
if the transmission failed for, e.g., no route to host; resulting in
one lost mbuf per failed packet. (The original posting included a
demonstration program).
Original report of this bug was by jinmei@isl.rdc.toshiba.co.jp
(JINMEI Tatuya) on comp.bugs.4bsd.
1996-10-11 18:19:08 +00:00
christos
6d7ad25bea
printf -> kprintf, sprintf -> ksprintf
1996-10-10 23:12:43 +00:00
christos
2768f040b3
- fix NSIP; it referenced non-existing functions.
1996-10-10 23:04:26 +00:00
thorpej
63a2506f79
Merge netbsd-1-2 branch back into mainline.
1996-10-09 01:15:04 +00:00
ws
093a00671f
Add (and change) machine independent files for KGDB support
1996-09-30 16:16:45 +00:00
perry
17fcad6b2c
commit fix in pr 2772 -- the IP input code was assuming that the
...
reserved (must be zero) flag must necessarily be zero. We now define
an IP_RF (by analogy to IP_DF and IP_MF) and mask it out when necessary.
1996-09-21 19:44:32 +00:00
mycroft
d6121891ef
Overlay inp_faddr and inp_laddr into the header prototype.
1996-09-17 17:10:20 +00:00
mycroft
457b1b1333
Make sure the sin_zero fields are filled.
1996-09-16 17:45:17 +00:00
mycroft
9bfa240a98
Hash unconnected PCBs.
1996-09-15 18:11:06 +00:00
mrg
a5f00f16bc
move the packet filter hooks in to a saner location. while i'm here, rename
...
PACKET_FILTER to PFIL_HOOKS.
1996-09-14 14:40:20 +00:00
mrg
4b851a2d9b
remove an unused variable.
1996-09-14 12:35:07 +00:00
mrg
df4a844f44
forward decl. struct mbuf (for now).
1996-09-12 23:11:40 +00:00
explorer
f5a52c4260
Move an #ifdef _KERNEL up above all the packet filter stuff. This
...
could very well break the packet filter stuff, but it will make things
like rcp.c compile, and rcp.c should not need to include sys/mbuf.h
to do so...
1996-09-12 22:56:03 +00:00
mycroft
da2cd7eb82
If we're in SYN-SENT or SYN-RECEIVED state, don't reset the keepalive
...
timer until we transition to ESTABLISHED state. Suggested by TCP/IP
vol 3.
1996-09-10 23:26:05 +00:00
mycroft
9bb1acd303
Rework the token bucket filter to use a list of packets rather than a static
...
array. Also, fix several memory leaks. From Bill Fenner.
1996-09-09 17:14:04 +00:00
mycroft
23437fc3d2
Cosmetic changes, some from Bill Fenner.
1996-09-09 17:09:50 +00:00
mycroft
62a6cce9ca
Add in_nullhost() and in_hosteq() macros, to hide some protocol
...
details. Also, fix a bug in TCP wrt SYN+URG packets.
1996-09-09 14:51:07 +00:00
mycroft
f5c7d8bcc1
Save 68 bytes of the packet for ICMP, not 64. From Laine Stump, PR 2296.
1996-09-08 15:49:43 +00:00
mrg
e27343e07d
fix a couple of minor nits after discussions with jason.
1996-09-07 04:55:16 +00:00
mrg
ae47956db0
add packet filter interface code. see pfil(9) for more details. you
...
need the PACKET_FILTER option to enable this code. currently, ipfilter
version 3.1.1-beta has been converted to use this new interface.
1996-09-06 05:07:43 +00:00
perry
94a217e163
Commit PR 2671, which adds an "IPNOPRIVPORTS" config option that turns
...
off the code that normally only allows root to bind low TCP
ports. Useful on firewalls and such.
1996-09-05 18:10:03 +00:00
thorpej
3ca11aa1ad
Fix some DIAGNOSTIC printf() formats; ntohl() provides a 32-bit quantity,
...
and should be printed with %x, not %lx.
1996-08-14 03:46:44 +00:00
neil
78bddbd393
Prototypes and definitions for ICMP Router Discovery, From FreeBSD.
...
rdisc coming soon! :-)
1996-08-03 15:48:18 +00:00
cgd
9764a289cd
print result of ntohl/htonl as a long. (makes -Wformat work on the
...
Alpha.)
1996-07-10 18:13:35 +00:00
chuck
26cf9de9d5
ported ATM to FreeBSD 2.2-960612-SNAP
1996-07-03 17:17:10 +00:00
chuck
cc499a99d9
change:
...
- change asock to rxhand and adjust all for this [esp atm_input]
1996-06-29 20:07:05 +00:00
chuck
a08c95305d
fixes/new stuff:
...
[1] if user tries to enter in a bogus PVC don't leave it in the routing
table ... remove it
[2] change ioctl arg to include rxso for lower layer
[3] add hooks (inside "NATM" ifdef) for native mode atm sockets so that
they don't clash with IP PVCs. [i am still debugging the native
mode atm socket protosw code]
1996-06-26 04:18:44 +00:00
mycroft
865bfae299
Return ENOPROTOOPT rather than picking pseudo-random error values.
...
Don't allow SIOCGET{VIF,SG}CNT from sockets other than the multicast router.
Restructure rip_ctloutput() like ip_ctloutput(), and fix memory leaks.
1996-06-23 12:12:44 +00:00
chuck
d9c6fd68b8
network support for ATM networks (ATM == Async Transfer Mode, not
...
Automatic Teller Machine).
Currently supports PVCs only (no ATM ARP either).
1996-06-22 01:47:35 +00:00
pk
ecbb3b2eb2
Prototype new rip_*() functions.
1996-05-28 23:27:04 +00:00
mycroft
91ac291d97
Move some code into a separate rip_bind() function.
1996-05-24 19:03:13 +00:00
mycroft
9347e648d8
udp_output() doesn't actually take control data, so don't pretend it does.
1996-05-23 17:05:45 +00:00
mycroft
f399db63a4
Make sure the control mbufs are freed in all cases.
1996-05-23 17:03:27 +00:00
mycroft
60395beed8
Fix a race condition in PRU_DISCONNECT.
...
Rearrange the code to deal with unconnected sockets slightly.
Other minor changes.
1996-05-23 16:22:32 +00:00
mycroft
e930766cdc
Minor changes.
1996-05-23 16:13:19 +00:00
mycroft
aee4be7a7f
Minor changes to make this more like other protocols. Also, fix some return
...
values.
1996-05-23 16:12:15 +00:00
mycroft
a8ba1d063c
A few style changes to match netiso and netns.
1996-05-22 14:42:27 +00:00
mycroft
49d52c9b1c
Pass a proc pointer down to the usrreq and pcbbind functions for PRU_ATTACH, PRU_BIND and
...
PRU_CONTROL. The usrreq interface really needs to be split up, but this will have to wait.
Remove SS_PRIV completely.
1996-05-22 13:54:55 +00:00
mrg
4e25d1d20b
if the sender set a cksum, check it, regardless if we care to
...
generate and send them ourselves. from rich stevens.
1996-05-20 16:56:20 +00:00
mycroft
e901286aad
When sending an ARP request, use the interface address for the route, rather
...
than the first address assigned. This gives slightly different behaviour in
the presence of aliases. From Bill Fenner, via Pete Bentley.
1996-05-11 12:59:55 +00:00
thorpej
4edabe2501
Changed struct ifnet to have a pointer to the softc of the underlying
...
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit. Updated interface to (*if_watchdog)() and (*if_reset)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 02:40:22 +00:00
jonathan
24a8c21b53
fixes for -Wall -Wmissing-prototypes:
...
include <sys/systm.h> to get a prototyped declaration of printf().
include <netinet/in.h> to get a prototyped declaration of in_cksum().
1996-04-08 19:55:37 +00:00
christos
dd7163922a
Fix db_printf formats
1996-03-30 21:53:19 +00:00
christos
2769793c13
Fix printf format args.
1996-03-16 23:53:58 +00:00
mrg
32cdb91fa3
two more local addr changes, all done differently now (idea from charles)
1996-02-26 23:16:42 +00:00
mrg
86b9b4d6be
if we are connecting *to* an address of any local interface, default the
...
local address of the socket to the same address.
1996-02-26 08:25:47 +00:00
christos
b2cc81b8fe
Fix PR/2095 options MROUTING did not compile.
1996-02-18 18:58:32 +00:00
christos
14d9cd33af
netinet prototypes
1996-02-13 23:40:59 +00:00
mycroft
0a47ede0fe
Ignore FIN if not yet connected.
1996-01-31 05:56:56 +00:00
mycroft
ac01b2f206
Add a comment describing the previous.
1996-01-31 05:42:37 +00:00
mycroft
a4e1bceb84
If we close from FIN_WAIT_2 state, make sure we don't leave the socket
...
around forever if we don't get a final FIN. From Arne Juul, PR 1659.
1996-01-31 05:37:29 +00:00
mycroft
67e78477db
Build a hash table of PCBs. Hash function needs tweaking.
1996-01-31 03:49:23 +00:00