Mike Barcroft [Sat, 20 Apr 2002 02:24:35 +0000 (02:24 +0000)]
Add sa_family_t type to <sys/_types.h> and typedefs to <netinet/in.h>
and <sys/socket.h>. Previously, sa_family_t was only typedef'd in
<sys/socket.h>.
Juli Mallett [Sat, 20 Apr 2002 01:49:10 +0000 (01:49 +0000)]
Crank WARNS.
Cast sizeof() to (int), as it's being compared against an int, not a size_t.
If i is changed to a size_t, it means the logic must be slightly changed later
in the flow, where --i is checked to be >= 0. I am not sure I want to make a
logic change to account for clearing up a warning, when an aesthetic one will
keep from modifying the logic.
Other harmless casts, that I think I've made in the right directions.
Make gpbc() an inline function, rather than an obfuscated macro, make its
scratch space local, rather than global. The previous macro used a dirty
hack (logical AND in place of a conditional) which would lead GCC to throw
a fit (rightly so) as the logical check, as well as the incrementation of
a variable, were not used for anything.
const'ify a few places where gcc3 yells. xstrdup() some global consts in
places where we xstrdup() when not using consts, but tried to assign them
to non-consts before.
Don't use execv(2) if we don't have the kind of arguments it wants.
Robert Watson [Sat, 20 Apr 2002 01:37:08 +0000 (01:37 +0000)]
Improve style consistency of vfs_syscalls.c by converting the style used
in various extattr_*() calls to match the rest of the file. Originally,
these bits at the end looked more like style(9). This patch was submitted
by green by way of the TrustedBSD MAC tree, and I fixed a few problems
with it on the way through. Someone with more time on their hands should
convert the entire file to style(9); this commit is for diff reduction
purposes.
Submitted by: green
Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs
Juli Mallett [Fri, 19 Apr 2002 23:28:54 +0000 (23:28 +0000)]
After 3 months...
Merge xargs(1) with that of xMach.
Bring in xargs(1) changes to add -L and -I as per the Single Unix Specification
version 3. Proper exit status numbers are implemented, and the manual page has
been updated to reflect reality.
The code has been ANSIfied, and a new file has been added to xargs(1) to do the
substring substitution as SUSv3 requires.
Traditional behaviour should not be affected, use of -J should be deprecated
in favor of the more portable -I (though -J has been left, for now).
Submitted by: me, tjr (the exit status stuff)
Obtained from: xMach
Warner Losh [Fri, 19 Apr 2002 22:28:09 +0000 (22:28 +0000)]
Make this build on 4.x machines again (building a -current kernel on a
-stable machine via the old-school methods):
Use __FreeBSD_version in preference to __FreeBSD__ >= N where possible.
Define a single variable mythread which is set to curproc or curthread
depending on the OS version (with a comment saying it is a white lie on
4.x since it really is a proc).
NB: __FreeBSD__ is the OS level of the host machine, not the target,
and should never be used, if possible, as __FreeBSD__ >= N.
Change lpd to recognize the '-s' parameter as a preferred synonym
for what is currently the '-p' parameter. '-s' is what NetBSD
used (and they implemented it before I added -p in FreeBSD), and
it also matches the '-s' option in syslogd. Someone in OpenBSD
land had also talked about adding a '-s' option, but it hasn't
happened yet.
Juli Mallett [Fri, 19 Apr 2002 17:26:21 +0000 (17:26 +0000)]
Bring OpenBSD m4(1) off of the OPENBSD vendor branch, and add the -s option,
$FreeBSD$ identifiers, and fix initialisation to stderr to happen in a function
as stderr is not the same in CURRENT as in OpenBSD.
Robert Watson [Fri, 19 Apr 2002 13:46:24 +0000 (13:46 +0000)]
In sendfile(), use the vn_rdwr() helper function, rather than manually
constructing a struct aio and invoking VOP_READ() directly. This cleans
up the code a little, but also has the advantage of making sure almost
all vnode read/write access in the kernel goes through the helper
function, meaning that instrumentation of that helper function can impact
almost all relevant read/write operations. In this case, it permits us
to put MAC hooks into vn_rdwr() and not modify uipc_syscalls.c (yet).
In general, if helper vn_*() functions exist, they should be used in
preference to direct VOP's in system call service code.
Submitted by: green
Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs
Robert Watson [Fri, 19 Apr 2002 13:35:53 +0000 (13:35 +0000)]
Divorce proc0 and proc1 credentials earlier; while this isn't technically
needed in the current code, in the MAC tree, create_init() relies on the
ability to modify the credentials present for initproc, and should not
perform that modification on a shared credential. Pro-active diff
reduction against MAC changes that are in the queue; also facilitates
other work, including the capabilities implementation.
Submitted by: green
Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs
Explicitly specifies sin6_family & sin6_len of sockaddr_in6 for raw socket
destination.
(Currently lack of their specification does not lead to any problem, because
kernel does not check the consistency between actual address and its
address family / length on raw socket.
However kernel should always check their consistency and stop sending packets
if there is a contradiction. Considering backward compatibility of
programs, I just fixed rtsol now; I'd like to fix the kernel behavior later.)
Build modules on ia64:
o Make the cam, cd9660 lomac and sound modules i386 and alpha
specific due to link problems (@gprel relocation when @ltoff
is required). Once resolved, these can be moved back to the
generic list.
o Build linprocfs only on those architectures that have the
linux module.
o Make the sppp module i386 and alpha specific due to compile
problems (pointers as switch cases). Once resolved, this can
be moved back to the generic list.
o Build all i386 specific modules, with the exception of those
mentioned above as being moved from the generic list to the
i386 list and those with dependencies on the linux module (aac)
or i386 dependent (ar, apm, atspeaker, fpu, gnufpu, ibcs2,
linux, ncv, nsp, netgraph, oltr, pecoff, s3, sbni, stg and
vesa).
o Don't build acpi as a module yet. It most be ported first.
Once ported, it can be added to the ia64 list.
o Don't build ipfilter yet due to compile errors (osreldate.h
not found).
Notice that if the device on which the dump is set is destroyed for
any reason, the dump setting is lost. This in particular will
happen in the case of spoilage. For instance if you set dump on
ad0s1b and open ad0 for writing, ad0s* will be spoilt and the dump
setting lost. See geom(4) for more about spoiling.
Some fixes for Symbol card.
- The version string doesn't need to start with 'V'.
- Symbol firmware doesn't support ROAMING_MODE nor MICROWAVE_OPEN.
Obtained from: NetBSD
Warner Losh [Fri, 19 Apr 2002 04:22:35 +0000 (04:22 +0000)]
Do some minor editing of the entires (the date of the smmsp user
wasn't April 4, but Feb 17th). Update the updating proceedure to use
the new mergemaster -p flag. Add a footnote telling users how to cope
if their mergemaster doesn't have a -p flag.
Alan Cox [Fri, 19 Apr 2002 02:08:33 +0000 (02:08 +0000)]
o Remove vm_map_growstack() from ia64's trap_pfault().
o Remove the acquisition and release of Giant from ia64's trap_pfault().
(vm_fault() still acquires it.)
Jacques Vidrine [Fri, 19 Apr 2002 00:45:29 +0000 (00:45 +0000)]
When exec'ing a set[ug]id program, make sure that the stdio file descriptors
(0, 1, 2) are allocated by opening /dev/null for any which are not already
open.
Fix the breakage of tagged queueing that the busdma integration
introduced. Since its now only possible to have one DMA control
block at a time, we move the setup to dmastart instead.
Back out previous commit, which was not at all approved by the maintainer
of this code. I very much doubt that "the FreeBSD way" really means "make
it as unreadable and unmaintable as possible", and I would like Makefile
style (which is not currently documented anywhere except in the minds of
bde and ru) to be discussed and agreed upon in the appropriate forum
before any further commits of this kind happen.
Stephen McKay [Thu, 18 Apr 2002 14:40:20 +0000 (14:40 +0000)]
Work around an Intel 21143 chip bug.
Rev 1.56 of if_dc.c removed calls to mii_pollstat() from the dc_tick()
routine. dc_tick() is called regularly to detect link up and link down
status, especially when autonegotiating.
The expectation was that mii_tick() (which is still called from dc_tick())
would update status information automatically in all cases where it would
be sensible to do so.
Unfortunately, with authentic 21143 chips this is not the case, and
the driver never successfully autonegotiates. This is because (despite
what it says in the 21143 manual) the chip always claims that link is not
present while the autonegotiation enable bit is set. Autonegotation takes
place and succeeds, but the driver tests the link bits before it switches
off the autonegotiation enable bit, and success is not recognised.
The simplest solution is to call dcphy_status() more often for MII_TICK
calls by dropping out of the switch statement instead of exiting when
we are autonegotiating and link appears to not be present. When
autonegotiation succeeds, dcphy_status() will note the speed and fdx/hdx
state and turn off the autonegotiation enable bit. The next call to
dcphy_status() will notice that link is present, and the dc driver code
will be notified.
Macronix chips also use this code, but implement link detection as
described in the manual, and hence don't need this patch. However, tests
on a Macronix 98715AEC-C show that it does not adversely affect them.
This could be done better but is the minimal effective change, and most
closely mimics what was happening prior to rev 1.56 of if_dc.c. (Actually
I also deleted a small amount of unnecessary code while I was in the area.)
Bruce Evans [Thu, 18 Apr 2002 13:02:17 +0000 (13:02 +0000)]
Fixed some style bugs:
- ifdefs around vendor sccsid were left reversed after switching to
__FBSDID().
- vertical whitespace after some of the non-FALLTHROUGH cases was lost.
- too much vertical whitespace before prototypes.
Bruce Evans [Thu, 18 Apr 2002 12:53:39 +0000 (12:53 +0000)]
Backed out the style bugs in rev.1.17:
- don't use unusual indentation for 39 lines of declarations when only 2
of the lines benefit from it.
- don't use __DECONST(). This was the one use of it in the tree, and it
was just wrong. It was used to hide the warning about tgetnum() having
the wrong prototype (missing a `const') due to libncurses being
misconfigured. libncurses has been fixed, so the original code now
compiles cleanly with WARNS=4.
Ruslan Ermilov [Thu, 18 Apr 2002 10:58:14 +0000 (10:58 +0000)]
Fixed bugs in previous revision:
Added NOOBJ if anyone even attempts to "make obj" here.
Revert to installing files with mode 644 except README.
Make this overall look like a BSD-style Makefile rather
than roll-your-own (this is not a bug).
For the record. Previous revision also fixed the breakage
introduced by the sys.mk,v 1.60 commit: bsd.own.mk is no
longer automatically included from sys.mk.
Ruslan Ermilov [Thu, 18 Apr 2002 06:46:34 +0000 (06:46 +0000)]
This Makefile.inc depended on the (wrong) order of inclusion
of makefiles: bsd.own.mk was included before ../Makefile.inc,
effectively hiding the (wrong) LIBCOMPATDIR assignment here.
share/mk/sys.mk,v 1.60 (and assorted share/mk fixes) fixed
this order, revealed this bug, and broke "make release" and
"make installworld" with either of -DCOMPAT1X or -DCOMPAT2?.
Robert Watson [Thu, 18 Apr 2002 03:44:44 +0000 (03:44 +0000)]
Since WITNESS doesn't just do mutexes, remove "mutex" from the WITNESS
comment in GENERIC config files of appropriate platforms. For whatever
reason, powerpc didn't use WITNESS in GENERIC.