Commit Graph

42885 Commits

Author SHA1 Message Date
Brian Somers
2cb305af77 Rewrite the link descriptor transfer code in MP mode.
Previously, ppp attempted to bind() to a local domain tcp socket
based on the peer authname & enddisc.  If it succeeded, it listen()ed
and became MP server.  If it failed, it connect()ed and became MP
client.  The server then select()ed on the descriptor, accept()ed
it and wrote its pid to it then read the link data & link file descriptor,
and finally sent an ack (``!'').  The client would read() the server
pid, transfer the link lock to that pid, send the link data & descriptor
and read the ack.  It would then close the descriptor and clean up.

There was a race between the bind() and listen() where someone could
attempt to connect() and fail.

This change removes the race.  Now ppp makes the RCVBUF big enough on a
socket descriptor and attempts to bind() to a local domain *udp* socket
(same name as before).  If it succeeds, it becomes MP server.  If it
fails, it sets the SNDBUF and connect()s, becoming MP client.  The server
select()s on the descriptor and recvmsg()s the message, insisting on at
least two descriptors (plus the link data).  It uses the second descriptor
to write() its pid then read()s an ack (``!'').  The client creates a
socketpair() and sendmsg()s the link data, link descriptor and one of
the socketpair descriptors.  It then read()s the server pid from the
other socketpair descriptor, transfers any locks and write()s an ack.

Now, there can be no race, and a connect() failure indicates a stale
socket file.

This also fixes MP ppp over ethernet, where the struct msghdr was being
misconstructed when transferring the control socket descriptor.

Also, if we fail to send the link, don't hang around in a ``session
owner'' state, just do the setsid() and fork() if it's required to
disown a tty.

UDP idea suggested by: Chris Bennet from Mindspring at FreeBSDCon
1999-11-25 02:47:04 +00:00
Seigo Tanimura
869f459c00 Add the description for the configuration of GUS non-PnP bridge driver.
Submitted by:	Pascal Hofstee <daeron@shadowmere.student.utwente.nl>
1999-11-25 01:20:29 +00:00
Seigo Tanimura
5d6784867c Attach the resources as given in the configuration in a proper way
for non-PnP cards.

Noticed by:	Pascal Hofstee <daeron@shadowmere.student.utwente.nl>
1999-11-25 01:13:52 +00:00
Søren Schmidt
3082a6dc59 Add DMA support for the VIA 82C586 & 82C686 chips, also rearrange
to fall back to slower speeds if the faster ones fails to probe.

Log and retry request on UDMA CRC errors.

Fix a couple of warnings.
1999-11-24 21:40:05 +00:00
Søren Schmidt
84d1d01b7a Add 3 more parts of the VIA 82C686. 1999-11-24 21:07:29 +00:00
Nick Hibma
efb9fba1e1 Make the devices for the endpoints 0-15, not only for 0. This creates
ugen0 and ugen0.1 - ugen0.15, not only ugen0 (control endpoint).
1999-11-24 21:05:59 +00:00
Poul-Henning Kamp
9b962c56a4 General clean-up of socket.h and associated sources to synchronise up
with NetBSD and the Single Unix Specification v2.

This updates some structures with other, almost equivalent types and
effort is under way to get the whole more consistent.

Also removes a double definition of INET6 and some other clean-ups.

Reviewed by: green, bde, phk
Some part obtained from: NetBSD, SUSv2 specification
1999-11-24 20:49:04 +00:00
Nick Hibma
a27816e5a5 Avoid null dereference on verbose output.
Submitted-By: Doug Ambrisko <ambrisko@whistle.com>

Don't print a warning on exit status 0.
1999-11-24 19:18:57 +00:00
Poul-Henning Kamp
d21c76f6ef Remove /dev/drum 1999-11-24 19:14:11 +00:00
Poul-Henning Kamp
a886b6851f Remove leftover reference to the "od" devices. 1999-11-24 19:07:31 +00:00
Daniel C. Sobral
c124b1392d Activates password protection (if a password is defined).
Adds $FreeBSD$.
1999-11-24 17:59:37 +00:00
Daniel C. Sobral
d2290dd57e Add silly password feature. If people want to depend on a flawed
security measures, so be it. It costs us almost nothing.

Document some code in support.4th that I was unable to understand
just by reading.
1999-11-24 17:56:40 +00:00
Guido van Rooij
725585340b Adjust man page: if command is specified, file name is mandatory 1999-11-24 15:47:45 +00:00
Guido van Rooij
80d3cdcb56 Unbreak build world by readding the necessary ipfilter includes. 1999-11-24 15:38:35 +00:00
David E. O'Brien
3c6c025dba GNU killed this sometime before 2.3. 1999-11-24 15:11:51 +00:00
Peter Wemm
0fbac2a6c5 longjumperror() and abort() don't exist in libstand.. Don't test
for a condition we can't handle (like the x86 longjmp).  This was
highlighted by attempting to build FICL into the alpha loader.
1999-11-24 13:54:46 +00:00
Peter Wemm
dc11d19429 Ensure libmytinfo stays dead.. I originally left it here so that we might
be able to build the old shared versions rather than taking a binary for
the compat area, but that seems to have caused confusion.
1999-11-24 12:34:28 +00:00
Alfred Perlstein
f41581f80f we all like to 'Use' ppp, but this should be 'User'
Pointed out by: dcs
1999-11-24 10:44:47 +00:00
Jordan K. Hubbard
46849eed91 Clean up the loader.conf write-out code. 1999-11-24 09:45:36 +00:00
Warner Losh
2b7d182bea Add one of the two root words adapted from scandinavian since 1066:
ombudsman
and its mate
        ombudsmanship
since I've had ispell (which uses /usr/share/dict/words) flag it too
many times.

Thanks to phk for telling me the other word is kokkenmoding, an
archaeological term for a pile of oystershells and other debiris from
a stone-age household.  I didn't add it to the list, however, since
none of the online dictionaries that I looked at had it in them.
Gotta find that oed lookup link :-)
1999-11-24 07:16:17 +00:00
David E. O'Brien
e4dfd37f5a This commit was generated by cvs2svn to compensate for changes in r53660,
which included commits to RCS files with non-trunk default branches.
1999-11-24 06:24:35 +00:00
David E. O'Brien
0cef048f94 Virgin import of the GCC 2.95.1 compilers
(gcc/config/i386/freebsd.h renamed to freebsd-aout.h)
1999-11-24 06:24:35 +00:00
David E. O'Brien
9ea0cca7b7 This commit was generated by cvs2svn to compensate for changes in r53657,
which included commits to RCS files with non-trunk default branches.
1999-11-24 06:23:43 +00:00
David E. O'Brien
5003d98148 Virgin import of gcc from EGCS 1.1.2.
(renamed to freebsd-aout.h)
1999-11-24 06:23:43 +00:00
David E. O'Brien
2cbc2fc2d0 This commit was generated by cvs2svn to compensate for changes in r53654,
which included commits to RCS files with non-trunk default branches.
1999-11-24 06:22:22 +00:00
David E. O'Brien
421eff041a Virgin import of GCC 2.7.2.3's gcc/config/i386/freebsd.h for a.out systems.
[This has been renamed to freebsd-aout.h to not conflict with our own
hacked up version.]
1999-11-24 06:22:22 +00:00
David E. O'Brien
30fdccdc20 Revert to rev 1.91. Revs 1.9{2,3} were causing problems for people with
pre-Aug 4.0-CURRENT worlds and those with pre-GCC 2.95.2 worlds.

The problem with pre-Aug worlds is the installed Byacc and Bison doesn't
have necessary changes to compile either GCC 2.95 or EGCS 1.1.x.

The problem with pre-GCC 2.95 worlds is libgcc is built with the wrong
compiler.  See rev 1.17 of src/gnu/lib/libgcc/Makefile (which used to live
in src/gnu/usr.bin/cc/libgcc) + commit messge for details of the requirements.
1999-11-24 06:04:11 +00:00
Julian Elischer
62811dad5a Expand the field width for subtypes. We had already overflowed it
by 2 with people just adding numbers on the end of the ethernet subtypes.
We now have an additional 14 subtypes available in ethernet.
Use one of them immediatly for homePNA.

Reviewed by: Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
1999-11-24 02:40:12 +00:00
Archie Cobbs
25792ef324 Change the prototype of the strto* routines to make the second
parameter a char ** instead of a const char **.  This make these
kernel routines consistent with the corresponding libc userland
routines.

Which is actually 'correct' is debatable, but consistency and
following the spec was deemed more important in this case.

Reviewed by (in concept):	phk, bde
1999-11-24 01:03:08 +00:00
Brian Somers
a86ab8174f Only emit the ``wrong ifa'' message if the matching interface
is neither IFF_LOOPBACK or IFF_POINTOPOINT.  It's quite common
(and probably more correct) to route local IP numbers via lo0
and it makes configuration easier to assign the hostname address
to local POINTOPOINT links too.

This message usually remains hidden because the loopback interface
gets the highest interface number at boot time, but when the
ethernet interface is added later, the message can get pretty
annoying.

Also, fix a typo.

Not objected to by: freebsd-net
1999-11-23 22:30:01 +00:00
Guido van Rooij
5cb2cd9453 Add ipfilter kld and wire it in. 1999-11-23 22:18:17 +00:00
Guido van Rooij
47e3b8ce13 Get rid of useless osreldate include for KLD/LKM modules (sys/param.h
already carries what is needed).
This is needed for the KLD support.
1999-11-23 22:16:41 +00:00
Guido van Rooij
fceb9c0ed8 rewire userland ipfilter programs 1999-11-23 21:57:29 +00:00
Guido van Rooij
ebcb6d9e5b Revive userland stuff for ipfilter.
Also fixes:
PR:		7791
1999-11-23 21:53:19 +00:00
Guido van Rooij
9cc86ee930 Add kernel parts of revived ipfilter (3.3.3.) 1999-11-23 21:44:59 +00:00
Matthew Dillon
4453311409 Even better then using %fs:0 in our locked synchronizing instruction,
we instead use 0(%esp), which is per-cpu, already pretty much
    guarenteed to be locked into the cache, and does not stress the cache's
    set associativity.  invlpg might also be a good choice (suggested by
    Ingo).

Obtained from:	Linus Torvalds <torvalds@transmeta.com>
1999-11-23 20:07:39 +00:00
Marcel Moolenaar
6de9679e89 Fix some bugs and make some policy changes.
o  Send libmytinfo back to the afterlife. It was revived by mistake,
o  Make gnu/lib/libgcc before making lib/libpam. This dependency has
   been overlooked in constructing the list,
o  make depend before make all. It's by using make depend that the
   dependency was found in the first place and we need it to prevent
   cleaning everything up before we start,
o  Don't specify -DNOINFO -DNOMAN for the libraries target. Let the
   target handle it. We can do away with a single run over the libs
   if we make everything while we're there and only install the
   libraries in the object tree.
1999-11-23 18:52:12 +00:00
Matthew Dillon
87c8f0c0f2 Add in required instruction serialization prior to releasing the
MP lock for the last time.  The use of a locked instruction to
    cpu-private memory is 3x faster then CPUID and 3x faster then the
    use of a locked instruction to shared memory (the lock itself).

    Instruction serialization is required to ensure that any pending
    memory ops are properly flushed prior to the release of the lock,
    due to out-of-order instruction execution by the cpu.
1999-11-23 18:46:09 +00:00
Marcel Moolenaar
84eadd6305 Add .ORDER which is needed for the previous commit to work with -jN.
Pointed out by: bde
1999-11-23 17:18:52 +00:00
Daniel C. Sobral
8a3f7b6ba9 Add machine-specific include path to ficl's sysdep.h. Wishes I had
gone to bed earlier.

Pointed by: peter
1999-11-23 16:30:48 +00:00
Daniel C. Sobral
0ae220095f Revert ill-considered simplification in 1.13.
Pointed by: peter
1999-11-23 16:28:39 +00:00
Daniel C. Sobral
83b912c6e6 Improve Makefile by using .PATH.
Taught by: peter
1999-11-23 15:55:28 +00:00
Daniel C. Sobral
8967d5f42e Improve on ficl port to alpha.
Files sysdep.[ch] are now in ${MACHINE_ARCH} subdirectory. Internal
#if's used to identify the platform where removed.

Make rule for target testmain was greatly simplified, because it was
easier simplifying it than changing it to support the new location of
sysdep.[ch].

(a repo-copy was done on sysdep.[ch], of course)
1999-11-23 15:24:30 +00:00
Daniel C. Sobral
99915e5b91 (Hopefully) make all necessary changes for ficl to support alpha. 1999-11-23 11:17:37 +00:00
Marcel Moolenaar
494b6f4cba Improve backward compatibility.
make(1) uses sysctlbyname() to find out if it is running on a PC98
machine. This check has been added on 1998/9/9. The MIB variable was
added on 1998/8/31. At that time __FreeBSD_version was 300003. So,
only perform the check *if* __FreeBSD_version is defined and if it's
greater than 300003.

For the record: sysctlbyname was added on 1997/5/30 so this change
automaticly handles that...
1999-11-23 10:35:24 +00:00
Marcel Moolenaar
5f644e4c72 vnode_if.sh makes both vnode_if.c and vnode_if.h. Add vnode_if.c to
the LHS of the rule for vnode_if.h. This solves a "dunno how to make"
error.
1999-11-23 10:17:36 +00:00
Alan Cox
2ed14a92db Correct the following error: vm_map_pageable() on a COW'ed (post-fork)
vm_map always failed because vm_map_lookup() looked at
 "vm_map_entry->wired_count" instead of "(vm_map_entry->eflags &
 MAP_ENTRY_USER_WIRED)".  The effect was that many page
 wiring operations by sysctl were (silently) failing.
1999-11-23 06:51:28 +00:00
Yoshinobu Inoue
e1da8747e7 Removed IPSEC and IPV6FIREWALL because they are not ready yet. 1999-11-23 05:42:36 +00:00
Andrey A. Chernov
d65bc34042 Document single_mountd_enable 1999-11-23 04:14:35 +00:00
Brian Feldman
9a46ff715e Fix a confusion between osigcontext and ucontext_t in the previous commit.
Since an osigcontext is smaller, if you check for a valid (much larger sized)
ucontext_t and it fails, we bogusly would reject the osigcontext as per
rev 1.378.  Instead, check for osigcontext range validity first, and
ucontext_t later.  This unbreaks Netscape.

Pointed to the right commit by:	peter
1999-11-23 04:09:13 +00:00