Commit Graph

160020 Commits

Author SHA1 Message Date
pooka
eb83bd6c94 I wasn't going to add any more silly examples, but I'll bite for
this one, since it's a good exercise ..

Add icfs, which does the same thing as the refuse-based icfs agc
added earlier this week, i.e. null-mounts & converts the entire
namespace to lowercase.  However, it's a fun comparison, since this
is implemented in a completely different fashion from the refuse
version.
2007-06-24 18:32:00 +00:00
pooka
b1da438567 * document puffs_pn_remove
* all-around improve the manual page
2007-06-24 18:16:36 +00:00
dsl
a9e905f23c Refactor this to use the new do_sys_xxx() functions from uipc_syscalls.c
so that it isn't necessary to copy data to/from the stackgap.
Given the nature of the code in this file, it is now probably slightly
  more broken than previously. but nothing serious should be worse!
2007-06-24 18:09:52 +00:00
dsl
a150e6e4f5 Use do_sys_recvmsg(), so_sys_accept(), do_sys_getsockname() and do_sys_senmsg()
in order to avoid the stackgap (etc).
Note that since changing the darwin socket address is simply a matter of
  translating the address family and adding sa_len, it can easily be done
  on the mbuf resident address before/after copying to/from userspace.
Simplify the convertion of AF_LOCAL addresses by usingthe user-supplied
  buffer length instead of dowing an unbounded strlen().
Untested - did this work before?
2007-06-24 18:07:34 +00:00
christos
205a4b0786 PR/36536: Greg A. Woods: stty(1) should mention tty(4) 2007-06-24 18:03:00 +00:00
dsl
0bb6928543 Update to call do_sys_recv() instead of recvit(). 2007-06-24 18:01:48 +00:00
christos
57bbaf572b PR/36546: Aleksey Cheusov: problems with 8-bit input in /bin/ksh, needs to
call setlocale()
2007-06-24 18:00:49 +00:00
dsl
51c050638d Split sys_getpeername() and sys_getsockname() so they can be called when the
'name' is wanted in kernel code.
Similarly split sys_accept() and change the split in recvmsg() so that it
  is useful to the compat functions, recvit() is removed and replaced by
  do_sys_recvmsg().
Factor out the code that writes socked names to userspace (from mbuf) to
  avoid replicated code.
Extract the code that writes socket 'control' (CMSG) data out to userspace,
  being more careful about the 'fd' that may exist inside SCM_RIGHTS msgs.
  (they still get lost if some of the latter copyout calls fail).
Since these are new functions, and old LKMs will fail to load.
2007-06-24 18:00:15 +00:00
christos
c1686632e0 PR/36535: Greg A. Woods: rm(1) should present user:group the same way as
chown(8) et al
2007-06-24 17:59:31 +00:00
christos
546dff6580 PR/36533: Greg A. Woods: minor doc fixes for sh(1) 2007-06-24 17:57:56 +00:00
pooka
564336f084 Introduce puffs_pn_remove() to signal that a node has been deleted
and destroyed, but not yet reclaimed.  This prevents puffs_pn_nodewalk()
from returning stale entries.  Make nullfs use this (some file
systems are a bit too happy with recycling inode numbers).
2007-06-24 17:55:07 +00:00
pooka
86e63e7e27 don't return errno from a function which returns an fd - there's
a "little" room for confusion.  instead, return -1 and let the
caller grab errno.
2007-06-24 17:41:09 +00:00
kardel
cf3eceb66e track 4.2.4p2 import 2007-06-24 16:56:48 +00:00
kardel
9238104d09 resolve merge conflicts of 4.2.4p2 import 2007-06-24 16:55:11 +00:00
kardel
d3063e9f3c Import ntp 4.2.4p2 2007-06-24 15:47:02 +00:00
itohy
aa6964a386 Regen from usbdevs rev 1.476. 2007-06-24 10:56:32 +00:00
itohy
ff96cdce81 Sort vendors and products by number.
Remove duplicates.
2007-06-24 10:43:23 +00:00
veego
4d897a6e25 Regen after the usbdevs updates in rev 1.474 and 1.475 2007-06-24 10:07:05 +00:00
veego
1419b5b5c5 - Add the MGE vendor and two entries.
- Change the APC entry, because it is not Back-UPS Pro 500 specific, it
  is used for more UPS's
Based on a patch from PR kern/31884
2007-06-24 10:02:45 +00:00
itohy
a58d97bba2 usbdevs:
Add vendors and products from FreeBSD/OpenBSD.
 - for aue(4):
	ADMtek AN986A Ethernet
	Add vendor ELCON Systemtechnik and its product Goldpfeil P-LAN
	ELECOM LD-USB20
	Mobility EasiDock Ethernet
	SIIG2 USB TO Ethernet

 - for axe(4):
	Acer Communications & Multimedia EP-1427X-2 Ethernet
	ASIX AX88178 USB 2.0 10/100 Ethernet adapter
	ATen UC210T Ethernet
	Belkin F5D5055 Ethernet adapter
	Billionton USB2AR Ethernet
	D-Link DUB-E100 rev B1
	Good Way Technology GWUSB2E
	I-O DATA ETG-US2
	Ethernet port in the JVC MP-PRX1 port replicator.
	Add new vender ID for Linksys (LINKSYS4) and its product USB1000
	OQO model 01+ Ethernet

 - for cdce(4):
	Acer Labs M5632 USB 2.0 Data Link
	Add vendor Ambit Microsystems and its product NTL 250 cable modem
	COMPAQ iPAQ Linux
	Add vendor G.Mate Inc. and its product YP3X00 PDA
	Two Motorola devices (FreeBSD/OpenBSD don't have the details)
	NetChip Linux Ethernet/RNDIS gadgets

 - for kue(4):
	Silicom Psion Gold Port Ethernet

 - for ural(4):
	Belkin F5D7051 54g USB Network Adapter
	GIGABYTE GN-54G
	Siemens Info 54g USB Network Adapter

 - for url(4):
	AboCom RTL8151
	RealTek RTL8151 PNA
	ZyXEL Prestige

Remove duplicates.
Whitespace police.
2007-06-24 09:46:29 +00:00
isaki
eecbbb187f Remove a duplicated option in MAKEFS_FLAGS.
"minfree=0,optimization=space" is defined at
../../common/Makefile.image.
2007-06-24 05:41:52 +00:00
christos
98d594125d PR/36541: Greg A. Woods: fix -P option, and add solaris -g option. 2007-06-24 01:52:46 +00:00
dyoung
1ee8f4a418 Extract common code from i386, xen, and sparc64, creating
config_handle_wedges() and read_disk_sectors().  On x86, handle_wedges()
is a thin wrapper for config_handle_wedges().  Share opendisk()
across architectures.

Add kernel code in support of specifying a root partition by wedge
name.  E.g., root specifications "wedge:wd0a", "wedge:David's Root
Volume" are possible.  (Patches for config(1) coming soon.)

In support of moving disks between architectures (esp. i386 <->
evbmips), I've written a routine convertdisklabel() that ensures
that the raw partition is at RAW_DISK by following these steps:

        0 If we have read a disklabel that has a RAW_PART with
          p_offset == 0 and p_size != 0, then use that raw partition.

        1 If we have read a disklabel that has both partitions 'c'
          and 'd', and RAW_PART has p_offset != 0 or p_size == 0,
          but the other partition is suitable for a raw partition
          (p_offset == 0, p_size != 0), then swap the two partitions
          and use the new raw partition.

        2 If the architecture's raw partition is 'd', and if there
          is no partition 'd', but there is a partition 'c' that
          is suitable for a raw partition, then copy partition 'c'
          to partition 'd'.

        3 Determine the drive's last sector, using either the
          d_secperunit the drive reported, or by guessing (0x1fffffff).
          If we cannot read the drive's last sector, then fail.

        4 If we have read a disklabel that has no partition slot
          RAW_PART, then create a partition RAW_PART.  Make it span
          the whole drive.

        5 If there are fewer than MAXPARTITIONS partitions,
          then "slide" the unsuitable raw partition RAW_PART, and
          subsequent partitions, into partition slots RAW_PART+1
          and subsequent slots.  Create a raw partition at RAW_PART.
          Make it span the whole drive.

The convertdisklabel() procedure can probably stand to be simplified,
but it ought to deal with all but an extraordinarily broken disklabel,
now.

i386: compiled and tested, sparc64: compiled, evbmips: compiled.
2007-06-24 01:43:34 +00:00
dyoung
82cc8fc351 In sys/kern/Make.tags.inc, create an intermediate variable FINDCOMM.
FINDCOMM contains the find(1) command that produces the list of
NetBSD sources that all architectures share, COMM.  For backwards
compatibility, evaluate FINDCOMM to produce ${COMM}.

In arch/evbmips/Makefile, use FINDCOMM directly, because the
command-line 'echo $COMM ...' was too long.
2007-06-24 01:03:35 +00:00
christos
115d8ccfd7 Don't use __arraycount because this is a 700L, and toolz have messed up
includes.
2007-06-23 23:18:29 +00:00
dogcow
a7e26eabfd unb0rk tools/ builds on systems that don't have __arraycount() defined. 2007-06-23 23:07:44 +00:00
jmcneill
c0ea19f984 Don't complain if we can't evaluate _ALn. 2007-06-23 20:01:31 +00:00
christos
447bc11260 Document how to import new services and protocols files. 2007-06-23 18:16:46 +00:00
christos
4e8192be1a sync with IANA 2007-06-23 18:15:28 +00:00
christos
2f53e821af Since we are going to be looking for ports many times, use a centralized
servent data structure and pass the stayopen hint.
2007-06-23 17:32:08 +00:00
christos
016b142ce7 Remove duplicate entries and document the procedure how to regenerate this
file.
2007-06-23 17:04:05 +00:00
christos
335dde11a5 fix usage check. 2007-06-23 17:02:03 +00:00
dsl
639a2edf3b Pass TRYEMULROOT to NDINIT() instead of using CHECK_ALT_XXX.
(Code is inside a big #if 0)
2007-06-23 16:58:18 +00:00
christos
65c07d0bce fix a comment and use efopen 2007-06-23 16:56:56 +00:00
christos
4f52df9a5e Add a uniq option to delete duplicate entries from the services file. 2007-06-23 16:55:15 +00:00
dsl
5a8c98bcf8 Use x86_set_ldt1() instead of the stackgap. 2007-06-23 16:50:23 +00:00
hauke
3d7f38ec94 Fix a warning from gcc 4 about stripping the volatile qualifier by a cast
by doing the proper __UNVOLATILE() dance.
2007-06-23 15:32:56 +00:00
dsl
6d0a5fcf1a Simplify code to get/set 16bit group lists.
Cloned from ibcs2 copy (maybe I should have worked out somewhere to put this
as common code...)
2007-06-23 15:27:23 +00:00
dsl
a5b4569076 Read and write the ldt without using the stackgap. 2007-06-23 15:26:16 +00:00
dsl
e773713d08 Comment out support for FREEBSD_PT_READ_U and FREEBSD_PT_WRITE_U.
It all looks like a rather broken hack.
If nothing else it accesses userspace without copyin/out.
2007-06-23 15:24:26 +00:00
dsl
b4e499e58b Split x86_set/get_ldt() so they are callable with kernel buffers.
For linux emulation code.
2007-06-23 15:22:18 +00:00
hannken
bed04c995a If a quota-enabled file system has 65536 active vnodes for one uid
the reference counter of the corresponding struct dquot will overflow.

Change the type of the reference counter from u_int16_t to u_int32_t and
add an assertion to check for overflow.

Observed and tested by Edgar Fuß.

Welcome to 4.99.21 (struct dquot and therefore struct inode changed layout)
2007-06-23 14:56:09 +00:00
christos
1d3b6feacb PR/36527: Greg A. Woods: installboot(8) doesn't allow for the valid
consdev=auto setting
2007-06-23 14:46:00 +00:00
isaki
b9c5a4c699 Remove _ZLIB_PRIVATE that should have been removed 10 years ago. 2007-06-23 10:50:24 +00:00
dsl
23ec3e8012 Use the functions in kern_auth.c for setting/getting group lists.
All we have to do here is copy the 16bit to 32bit group numbers across.
2007-06-23 09:11:12 +00:00
dsl
049a22a9db These now need sys/prot.h 2007-06-23 09:09:56 +00:00
dsl
a72d93045f Make sys_getgroups() and sys_setgroups() use the newly added functions
in kern_prot.c in order to simplify the code paths.
NB: the grouplist is not longer sorted - I don't think anything relies
on this (any more) and nfs will use truncated lists where the order of the
entries is important.
Move the external defns for public functios in kern_prot.c into a new
header sys/prot.h (from sys/ucred.h which contains a compat defn that
is exposed to userspace).
2007-06-23 09:08:37 +00:00
dsl
a254a27e55 Simplify the interfaces needed for sys_setgroups() and sys_getgroups().
Exposed that the kauth code holds groups in an array, but removes some
of the knowledge of the maximum number of groups.
Allows the syscall code to copyin/out directly to/from the cred structure,
this save a lot of faffing about with malloc/free even when compat code
has to use 16bit groups.
2007-06-23 09:02:12 +00:00
scw
2346befecc If the underlying link's MTU is less than PP_MTU (e.g. PPPoE), set our
MRU to the link's MTU and initiate an MRU negotiation with the peer.

This is useful when the PPP session is bridged from Ethernet to ATM
by an ADSL modem (such as the Linksys AM200). Unless we negotiate the
lower MRU, the peer is unaware that 1500-byte packets will not make
it umolested across the link (the Linksys AM200 silently truncates them
to 1498 bytes, creating a nice PMTU blackhole).

Note that the PPP RFC says peers MUST accept 1500 byte packets,
regardless of the negotiated MRU, so most ISPs which use PPPoA will
probably still send 1500-byte packets. However, I persuaded my ISP
(Andrews and Arnold) to modify their software to generate an ICMP error
"fragment needed" for packets with IP.DF set which are larger than the
negotiated MRU. They will still forward non-IP.DF packets, with the
associated truncation, but at least my PMTU troubles have gone.
2007-06-23 08:45:25 +00:00
yamt
616f645161 add newgrp.debug. 2007-06-23 05:25:29 +00:00