Søren Schmidt [Wed, 14 Mar 2001 12:12:46 +0000 (12:12 +0000)]
Add support for the IOMEGA Clik!
IOMEGA deserves a medal for making the most nonstandard ATAPI
devices, if they are ignorant or just not smart enough I don't
know, but somebody should help them out of their misery...
Søren Schmidt [Wed, 14 Mar 2001 12:05:44 +0000 (12:05 +0000)]
Refine the detach/attach code.
Proberly fail outstanding bio requests on devices that are detached.
This makes it possible to change between disk/cdrom/dvd/whathaveyou
in a notebook, just by suspending it, changing the device in the
bay (or what you model calls it), unsuspend and the ATA driver
will figure out what disappeared and properly fail those, and attach
any new devices found.
Argh! Why can't I stop breaking the fvwm desktop option? *I* use
fvwm as my desktop, yet I've broken this damn thing 3 times in a row
now while all the desktops I don't actually use continue to work fine! :)
Matthew Dillon [Wed, 14 Mar 2001 06:48:53 +0000 (06:48 +0000)]
Fix a lock reversal problem in the VM subsystem related to threaded
programs. There is a case during a fork() which can cause a deadlock.
From Tor -
The workaround that consists of setting a flag in the vm map that
indicates that a fork is in progress and using that mark in the page
fault handling to force a revalidation failure. That change will only
affect (pessimize) page fault handling during fork for threaded
(linuxthreads style) applications and applications using aio_*().
Matthew Dillon [Wed, 14 Mar 2001 06:09:42 +0000 (06:09 +0000)]
Temporarily remove the vm_map_simplify() call from vm_map_insert(). The
call is correct, but it interferes with the massive hack called
vm_map_growstack(). The call will be returned after our stack handling
code is fixed.
Robert Watson [Wed, 14 Mar 2001 05:32:31 +0000 (05:32 +0000)]
o Implement "options FFS_EXTATTR_AUTOSTART", which depends on
"options FFS_EXTATTR". When extended attribute auto-starting
is enabled, FFS will scan the .attribute directory off of the
root of each file system, as it is mounted. If .attribute
exists, EA support will be started for the file system. If
there are files in the directory, FFS will attempt to start
them as attribute backing files for attributes baring the same
name. All attributes are started before access to the file
system is permitted, so this permits race-free enabling of
attributes. For attributes backing support for security
features, such as ACLs, MAC, Capabilities, this is vital, as
it prevents the file system attributes from getting out of
sync as a result of file system operations between mount-time
and the enabling of the extended attribute. The userland
extattrctl tool will still function exactly as previously.
Files must be placed directly in .attribute, which must be
directly off of the file system root: symbolic links are
not permitted. FFS_EXTATTR will continue to be able
to function without FFS_EXTATTR_AUTOSTART for sites that do not
want/require auto-starting. If you're using the UFS_ACL code
available from www.TrustedBSD.org, using FFS_EXTATTR_AUTOSTART
is recommended.
o This support is implemented by adding an invocation of
ufs_extattr_autostart() to ffs_mountfs(). In addition,
several new supporting calls are introduced in
ufs_extattr.c:
ufs_extattr_autostart(): start EAs on the specified mount
ufs_extattr_lookup(): given a directory and filename,
return the vnode for the file.
ufs_extattr_enable_with_open(): invoke ufs_extattr_enable()
after doing the equililent of vn_open()
on the passed file.
ufs_extattr_iterate_directory(): iterate over a directory,
invoking ufs_extattr_lookup() and
ufs_extattr_enable_with_open() on each
entry.
o This feature is not widely tested, and therefore may contain
bugs, caution is advised. Several changes are in the pipeline
for this feature, including breaking out of EA namespaces into
subdirectories of .attribute (this is waiting on the updated
EA API), as well as a per-filesystem flag indicating whether
or not EAs should be auto-started. This is required because
administrators may not want .attribute auto-started on all
file systems, especially if non-administrators have write access
to the root of a file system.
Matt Jacob [Wed, 14 Mar 2001 04:11:56 +0000 (04:11 +0000)]
In order to save ourselves grief with the SUNPRO compiler under
Solaris (which, for reasons unknown to me, chokes on u_int16_t
as a typedef of unsigned short if used in a transitional (mixed K&R
and ANSI) way), we'll go the extra mile and fully ANSIfy things.
Kenneth D. Merry [Tue, 13 Mar 2001 22:35:28 +0000 (22:35 +0000)]
In xpt_set_transfer_settings(), force async if either the period or the
offset is set to 0.
Re-arrange the DT limiting code so that we don't end up setting the period
to 0xa if the user really wants async. The previous behavior seemed to
confuse the aic(4) driver.
Cameron Grant [Tue, 13 Mar 2001 18:43:22 +0000 (18:43 +0000)]
fix a panic triggerable by anyone with read/write access to the audio
devices. opening /dev/{dsp,dspW,audio}0 and then opening a different device
from that list and closing it resulted in a panic when any operation is
performed on the first fd.
we prevent this happening by denying the second open unless it uses the same
minor device as the first.
Ruslan Ermilov [Tue, 13 Mar 2001 17:07:06 +0000 (17:07 +0000)]
RFC768 (UDP) requires that "if the computed checksum is zero, it
is transmitted as all ones". This got broken after introduction
of delayed checksums as follows. Some guys (including Jonathan)
think that it is allowed to transmit all ones in place of a zero
checksum for TCP the same way as for UDP. (The discussion still
takes place on -net.) Thus, the 0 -> 0xffff checksum fixup was
first moved from udp_output() (see udp_usrreq.c, 1.64 -> 1.65)
to in_cksum_skip() (see sys/i386/i386/in_cksum.c, 1.17 -> 1.18,
INVERT expression). Besides that I disagree that it is valid for
TCP, there was no real problem until in_cksum.c,v 1.20, where the
in_cksum() was made just a special version of in_cksum_skip().
The side effect was that now every incoming IP datagram failed to
pass the checksum test (in_cksum() returned 0xffff when it should
actually return zero). It was fixed next day in revision 1.21,
by removing the INVERT expression. The latter also broke the
0 -> 0xffff fixup for UDP checksums.
Before this change:
: tcpdump: listening on lo0
: 127.0.0.1.33005 > 127.0.0.1.33006: udp 0 (ttl 64, id 1)
: 4500 001c 0001 0000 4011 7cce 7f00 0001
: 7f00 0001 80ed 80ee 0008 0000
After this change:
: tcpdump: listening on lo0
: 127.0.0.1.33005 > 127.0.0.1.33006: udp 0 (ttl 64, id 1)
: 4500 001c 0001 0000 4011 7cce 7f00 0001
: 7f00 0001 80ed 80ee 0008 ffff
John Baldwin [Tue, 13 Mar 2001 16:16:35 +0000 (16:16 +0000)]
- Sync up with stable by adding in the Netgraph and Sound module sections,
the agp module, and the accept filter modules.
- Remove an extraneous blank line.
Be a better rc.conf citizen and create an initial file which:
1. Has a time-stamp to show when it was created
2. Sorts and uniq's the output to only contain single instances of a
given setting. This doesn't mean you still can't have settings which
override one another, that's still possible since it's too much
trouble to do the redundancy checking here.
Peter Wemm [Tue, 13 Mar 2001 05:53:16 +0000 (05:53 +0000)]
At great personal risk, touch the sendmail startup again. This adds easy
seperate knobs for inbound (accepting SMTP connections) and outbound (just
occasionally dequeueing) sendmail daemon startup.
Robert Watson [Tue, 13 Mar 2001 02:31:32 +0000 (02:31 +0000)]
o Update copyright dates.
o Rename internal library functions so that they are prefixed with
_posix1e or _POSIX1E, removing them from the application namespace (and
potential conflict with other ACL functions elsewhere in the system).
Ruslan Ermilov [Mon, 12 Mar 2001 17:19:38 +0000 (17:19 +0000)]
.St macro cleanup:
- spell the abbreviation of 1003.1 as ``POSIX.1''
- fixed the description of -p1003.1-90; it was sold as ISO/IEC 9945-1:1990
- removed -p1003.1b; it only existed as 1003.1b-1993 (-p1003.1b-93), and
is part of 1003.1 since 1003.1-1996.
- replaced -p1003.1g (project) with -p1003.1g-2000 (approved draft)
- changed abbreviation of -isoC from ``ISO C'' to ``ISO C89''
- removed -iso9899 alias for -isoC
- IEC was missing from some names
- added abbreviation for -susv2 (``SUSv2'')
Really finish softupdate setting from the label editor and fix
a few cosmetic problems:
o Allow it to work with scripts (see man page or install.cfg file).
o Preserve old softupdates flag across newfs toggles
o Clean up partitioned/labelled flag handling
o Don't ask for MBR choice again if you've already written it out.
o Actually document the new features.
Will Andrews [Mon, 12 Mar 2001 05:53:54 +0000 (05:53 +0000)]
Fix top(1) display for SMP systems where the username is longer than 14
characters. This should avoid unattractive wrapping for people who are
stuck in an 80x24 screen. :-)
PR: 22270
Submitted by: William Carrel <williamc@go2net.com>
Assar Westerlund [Mon, 12 Mar 2001 03:52:00 +0000 (03:52 +0000)]
reset uid back to the user before doing kerberised change password.
root permission is not needed and the kerberos library is paranoid
about access control to the ticket file
Don't require that mouse cursor must be visible before mouse paste.
Paste always happens to current _text_ cursor position independently of
mouse cursor position in any case and old variant force user to press
mouse paste button _two_ times if mouse cursor is invisible.
John Baldwin [Sun, 11 Mar 2001 23:41:55 +0000 (23:41 +0000)]
- Call fork1() directly instead of calling rfork() so that it doesn't mask
out RFSTOPPED.
- Lock the child process when settings p_sigparent instead of locking the
parent.
Robert Watson [Sun, 11 Mar 2001 20:37:11 +0000 (20:37 +0000)]
o Replace part-wise instructions for building world for jail(8) with
a simple make world; while this does a bit more work, it means that
jail(8) doesn't have to be kept in sync with /usr/src/Makefile{,.inc1}
which is a moving target. MFC candidate.
Submitted by: FUJISHIMA Satsuki <sf@FreeBSD.org>
Reviewed by: phk
Also pointed out by: Phil Kernick <Phil@Kernick.org>
rfork() masks RFSTOPPED out of the flags it passes to fork1(), so we have
to call fork1() directly if we don't want out process queued right away.
This has the serendipitous side effect of saving us a call to pfind().
This makes threaded Linux apps (such as Opera) work again.
Ian Dowse [Sun, 11 Mar 2001 17:50:19 +0000 (17:50 +0000)]
In ip_output(), initialise `ia' in the case where the packet has
come from a dummynet pipe. Without this, the code which increments
the per-ifaddr stats can dereference an uninitialised pointer. This
should make dummynet usable again.
Reported by: "Dmitry A. Yanko" <fm@astral.ntu-kpi.kiev.ua>
Reviewed by: luigi, joe