Commit Graph

11196 Commits

Author SHA1 Message Date
wkoszek
0e767958a5 Second call of sysctl() is used to gather a proper size of a memory chunk
needed to hold the GEOM tree. At this point, pointer 'p' has an improper
value (as it was used previously), and we're getting EFAULT. Fix this
functionality by passing NULL instead of 'p'.

This fixes mdconfig(8) -l output with high number of md(4) devices.

   Found by:	kris
Reviewed by:	phk
2007-05-01 10:47:09 +00:00
ache
55677ed894 Bump .Dd
Suggested by: Henrik Brix Andersen <henrik@brixandersen.dk>
2007-04-30 19:37:10 +00:00
ache
c0dd4e798d Add phrase
"so altering the argument shall change the environment."
into putenv description.
2007-04-30 18:01:51 +00:00
ache
d85104099a Make putenv() fully conforms to Open Group specs Issue 6
(also IEEE Std 1003.1-2001)

The specs explicitly says that altering passed string
should change the environment, i.e. putenv() directly puts its arg
into environment (unlike setenv() which just copies it there).
It means that putenv() can't be implemented via setenv()
(like we have before) at all. Putenv() value lives (allows modifying)
up to the next putenv() or setenv() call.
2007-04-30 16:56:18 +00:00
ache
c323ce85c0 Remove special case skipping initial '=' of the setenv() value "for
compatibility with the different environment conventions" (man page).
With the standards, we don't have them different anymore and
IEEE Std 1003.1-2001 says that

"The values that the environment variables may be assigned are not
restricted except that they are considered to end with a null byte"
2007-04-30 03:47:31 +00:00
ache
df3730247f Make setenv, putenv, getenv and unsetenv conforming to Open Group specs
Issue 6 (also IEEE Std 1003.1-2001) in following areas:
args, return, errors.

Putenv still needs rewriting because specs explicitly says that
altering passed string later should change the environment (currently we
copy the string so can't provide that).
2007-04-30 02:25:02 +00:00
pjd
ed3c97c636 Add missing links and sort. 2007-04-29 21:38:25 +00:00
deischen
ae8de717aa Don't enable symbol versioning for librt by default just yet. 2007-04-29 17:08:13 +00:00
kan
7f5712c74b Make sure FBSDprivate_1.0 is located at the end of the version
inheritance chain.
2007-04-29 16:14:17 +00:00
deischen
b780933380 Catch up with the renaming of the private version namespace. 2007-04-29 15:27:23 +00:00
deischen
2a7306fdc5 Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
deischen
dd57d65e2d Number the private version namespace in case we ever want to have
compatibility between versions (as we do for the public namespace).
2007-04-29 14:03:45 +00:00
deischen
c8d3bdefd9 Symbol version librt. 2007-04-29 14:01:45 +00:00
roam
b76036be69 Remove the MSG_PEEK flag from the documentation of the send(2) syscall -
it is only relevant to receiving data from sockets, not to sending.

PR:		109667
Submitted by:	Jari Kirma <kirma@cs.hut.fi>
Approved by:	wollman
2007-04-27 10:28:30 +00:00
phk
8b888b32a2 Get endianess right.
Why would an XML library need to know about endianess anyway ??

Prodded by, long time ago:	ahze
2007-04-24 06:29:27 +00:00
rwatson
55d666f72e Add au_to_zonename.3 alias for au_token.3.
Obtained from:	TrustedBSD Project
2007-04-23 14:46:59 +00:00
deischen
5e5a32d139 Add a reference and lock the target thread when setting its name.
Submitted by:	davidxu (via libthr)
2007-04-23 03:36:14 +00:00
njl
a22d768e0f Add back the original behavior of changing the entire directory path at
once (CWD a/b/c vs. 3 CWDs).  If an error occurs, we fall back to the default
method of a single CWD per directory element.  Since this is technically
a violation of the basic FTP RFC, this behavior is under a compile-time
option FTP_COMBINE_CWDS and is off by default.  It should work with most
Unix-based FTP daemons and can save latency.

MFC after:	2 weeks
2007-04-22 22:33:29 +00:00
kientzle
0c3bc8c454 Fix a memory leak in the uname/gname lookup cache.
Thanks to: VMiklos
2007-04-20 15:32:13 +00:00
mtm
b79eceb7f3 Make inet6_rth_* family of functions more compliant with RFC3542:
1. CMSG_NXTHDR(mhdr, cmsg) is supposed to dereference cmsg and return
   the next header in the chain. If cmsg is NULL it should return
   the first header, behaving essentially like CMSG_FIRSTHDR().
2. inet6_rth_(space|init|add) should do basic checking on their input
   to verify that the number of headers (segments) is
   between 0 and 127 inclusive.

MFC-After: 1 month
2007-04-19 15:48:16 +00:00
phk
1e5d27edb1 Grammer correction from: emaste 2007-04-19 14:01:04 +00:00
phk
19613c2bfe Loosen return value spec for fputs to be standards compliant so people
don't program against our more restrictive behaviour.
2007-04-19 09:38:31 +00:00
ru
b14b729d24 Add a missing backslash and unbreak the build. 2007-04-16 09:54:59 +00:00
rafan
6079f73df3 - Add missing man page links
- Remove link for define_key.3 which is a real man page
- Some whitespace nits

Approved by:	delphij (mentor)
2007-04-16 09:11:24 +00:00
cperciva
67c3258375 In libarchive: Downgrade ARCHIVE_FATAL and ARCHIVE_FAILED errors which
occur on the write side of extracting a file to ARCHIVE_WARN errors
when returning them from archive_read_extract.

In bsdtar: Use the return code from archive_read_data_into_fd and
archive_read_extract to determine whether we should continue trying to
extract an archive after one of the entries fails.

This commit makes extracting a truncated tarball complain once about
the archive being truncated, instead of complaining twice (once when
trying to extract an entry, and once when trying to seek to the next
entry).

Discussed with:	kientzle
2007-04-16 04:04:50 +00:00
kientzle
688cc6519f Properly cleanup the UID/GID lookup data. 2007-04-15 04:43:12 +00:00
kientzle
b97ee9aaff Don't free a NULL pointer. 2007-04-15 04:42:52 +00:00
kientzle
e790087db0 Clean up a lot of memory leaks in the libarchive test harness. 2007-04-15 04:30:02 +00:00
kientzle
5b9b31cc42 Thanks to Colin for catching my mixup. The original problem wasn't
suppressing the second error, it was failing to address the first.
2007-04-15 01:01:20 +00:00
kientzle
cc44f89006 Consolidate numeric limit macros in one place; include them
only on platforms that need them.  FreeBSD doesn't.
2007-04-15 00:53:38 +00:00
kientzle
badcfdefb7 Pass through error message if any operation fails, not just the last one. 2007-04-14 22:49:37 +00:00
kientzle
7cead8e1b5 Overhaul of 'ar' support:
* use "AR_GNU" as the format name instead of AR_SVR4 (it's what everyone is going to call it anyway)
  * Simplify numeric parsing to unsigned (none of the numeric values should ever be negative); don't run off end of numeric fields.
  * Finish parsing the common header fields before the next I/O request (which might dump the contents)
  * Be smarter about format guessing and trimming filenames.
  * Most of the magic values are only used in one place, so just inline them.
  * Many more comments.
  * Be smarter about handling damaged entries; return something reasonable.
  * Call it a "filename table" instead of a "string table"
  * Update tests.

Enable selection of 'ar', 'arbsd', and 'argnu' formats by name
(this allows bsdtar to create ar format archives).

The 'ar' writer still needs some work; it should reject
entries that aren't regular files and should probably also
strip leading paths from filenames.
2007-04-14 22:34:10 +00:00
kientzle
d7e5af0175 Invoke utime(2) properly. (It's only used on platforms
that lack utimes(2).)
2007-04-14 22:20:31 +00:00
kientzle
0727d3c825 Fix the build by temporarily disabling 'ar' support until
I can clean it up.
2007-04-14 18:24:42 +00:00
pjd
6f429811a0 Cleanup sysconf(3) a bit. sysconf(3) assumes in some places it operates
on int, but in fact it should operate on long.
- Introduce 'lvalue' variable, which is long.
- Fix _SC_XOPEN_SHM for 64bit archs.
- Fix _SC_PHYS_PAGES for 64bit archs.
  Reported by:	simokawa
- Use lvalue for pathconf(3), as it returns long.
- Cast value explicitly to long on return.
2007-04-14 13:06:57 +00:00
kientzle
571c5243e4 Fix the build.
N.B. 'ar' format support is broken right now, it's not
passing tests.  If I can't find the problem soon, I'll
back out the last commit.
2007-04-14 08:42:50 +00:00
kientzle
d5ef04255e Fixes from Joerg Sonnenberger, reviewed by Kai Wang. 2007-04-14 08:30:21 +00:00
kientzle
f22ef7785f Conventionally, tar archives have always included a trailing '/'
for directories.  bsdtar used to add this, but that recently got
lost somehow.  So now I'm adding it back in libarchive.
The only odd part of doing this in libarchive:  Adding a directory to
a tar archive and then reading it back again can yield a different name.

Add a test case to exercise some boundary conditions with
tar filenames and ensure that trailing slashes are added to
dir names only as necessary.

Thanks to: Oliver Lehmann for bringing this regression to my attention.
2007-04-14 08:20:31 +00:00
kientzle
aed3c20426 Portability: Don't use mkdtemp() when mkdir() will suffice.
If we can't create the dir, just give up.
2007-04-14 05:17:06 +00:00
kientzle
06c7ab1975 More portability improvements from Martin Koeppe:
conditionally use utime() when utimes() is not available;
allow the most common wide-char functions to be replaced
when local alternatives are lacking.
2007-04-14 02:37:22 +00:00
kientzle
9d7fe0d472 Portability. 2007-04-13 16:07:25 +00:00
jkoshy
aa1b17d557 Fix a bug in the description of the "p6-div" event. [1]
Update the description of the "p6-div" and "p6-mul" events according
to the "Intel(r) 64 and IA-32 Architectures Software Developers
Manual Volume 3B: System Programming Guide, Part 2, November 2006".

Reported by: 	Harald Servat <redcrash at gmail dot com> [1]
2007-04-12 09:16:54 +00:00
kientzle
7d72f41479 Now that libarchive is being built in more environments,
factor out the platform-specific configuration header a bit
more cleanly.
Suggested by: Joerg Sonnenberger
2007-04-12 04:44:21 +00:00
kientzle
074fb0c77f Make Lint happier. 2007-04-12 04:42:57 +00:00
emaste
22ad00d0a7 Belatedly bump Dd for my recent changes. 2007-04-11 20:31:06 +00:00
jkoshy
9b08351962 Correct a typo in an event name alias.
Reported by: 	Harald Servat <redcrash at gmail dot com>
2007-04-11 04:52:09 +00:00
ru
3b6a1f4e2a Expand the description of the host's UUID.
OK'ed by:	pjd
2007-04-10 11:19:52 +00:00
ru
2cb30c04fd Swap "underflow"/"overflow" in the table header.
Submitted by:	Ricardo Nabinger Sanchez
MFC after:	3 days
2007-04-10 11:17:00 +00:00
kan
0daf602ef9 Clean-ip TLS symbol versions. [_]__tls_get_addr function is part of
the platform ABI and as such does not belong in FBSDprivate.

__libc_tls_* functions do not have to be visible to outside world
at all.
2007-04-09 22:48:08 +00:00
pjd
aa9104eb0c Document KERN_HOSTUUID.
Reminded by:	ru
2007-04-09 20:21:49 +00:00
emaste
59639a4c97 Document PT_GETNUMLWPS. 2007-04-09 14:56:31 +00:00
gshapiro
9fd55a85a1 New files in sendmail 8.14.1 2007-04-09 01:45:30 +00:00
kientzle
9a4581bab3 Fix build on Solaris. 2007-04-07 19:35:02 +00:00
kientzle
495689c98f Enable 'ar' support; hook it up to the build and
enable it with _read_support_format_all().
2007-04-07 05:54:23 +00:00
kientzle
6c2dd913ff Clarification: Point people to archive_read_data(), which
should be used instead of archive_read_data_into_buffer().
2007-04-07 05:53:11 +00:00
cperciva
08d3388bce When copying data from one archive to another, only set the error
message in the reader to the error message from the writer if the
error which occurred was in the writer.  This avoids error messages
of "Empty error message" when extracting truncated archives.
2007-04-07 03:37:59 +00:00
emaste
9dfa1c4936 Describe PT_GETLWPLIST's arguments. 2007-04-07 03:16:23 +00:00
kan
dd704902af __p_rcode_syms is declared as external in resolv.conf, so it cannot be
redeclared as static in res_debug.c.

Make __p_rcode_syms global and add it to Symbol map. The rest of
__p_??_syms are already global.

Choice of FBSD_1.0 version for these debug symbols seems strange and
should be revisited before symbol  versioning is enabled for libc.so.7.
2007-04-06 19:45:17 +00:00
pjd
98524ca017 Bump date. 2007-04-05 21:17:52 +00:00
pjd
4718e01f98 Implement SEEK_DATA and SEEK_HOLE extensions to lseek(2) as found in
OpenSolaris. For more information please refer to:

	http://blogs.sun.com/bonwick/entry/seek_hole_and_seek_data
2007-04-05 21:10:53 +00:00
pjd
7e73da14eb Add security.jail.mount_allowed sysctl, which allows to mount and
unmount jail-friendly file systems from within a jail.
Precisely it grants PRIV_VFS_MOUNT, PRIV_VFS_UNMOUNT and
PRIV_VFS_MOUNT_NONUSER privileges for a jailed super-user.
It is turned off by default.

A jail-friendly file system is a file system which driver registers
itself with VFCF_JAIL flag via VFS_SET(9) API.
The lsvfs(1) command can be used to see which file systems are
jail-friendly ones.

There currently no jail-friendly file systems, ZFS will be the first one.
In the future we may consider marking file systems like nullfs as
jail-friendly.

Reviewed by:	rwatson
2007-04-05 21:03:05 +00:00
cperciva
44021ff691 Move archive_read_data_into_buffer into archive_read.c, simplify its
implementation, and mark it as deprecated.  It will be removed entirely
in libarchive 3.0 (in FreeBSD 8.0?) but there's no reason for anyone to
use it instead of archive_read_data.

Approved by:	kientzle
2007-04-05 15:51:19 +00:00
davidxu
2dd85eafce If a thread who's name is being set is not the current thread, use macros
THR_THREAD_LOCK and THR_THREAD_UNLOCK instead, this should fix wrong
lock level problem.

Bug reported by: ed dot maste at gmail dot com
2007-04-05 07:20:31 +00:00
kientzle
f267b347f9 More corrections from Joerg Sonnenberger. 2007-04-05 05:22:13 +00:00
kientzle
bf75e04a4e Style fixes from Joerg Sonnenberger: use correct types,
spell lint(1) comments correctly.
2007-04-05 05:20:13 +00:00
kientzle
a9a30ff15d From Joerg Sonnenberger: Fix a number of style gaffes,
including type puns and avoidable casts.
2007-04-05 05:18:16 +00:00
kientzle
1026a1bd3a Wordsmithing. 2007-04-05 05:07:53 +00:00
delphij
3628fe430a Avoid using intermediate variables by just comparing between
two values, the latter does not tend to have sign extension
and/or overflow bugs, and makes the code more obvious.

While I'm there, make use of a macro which is derived from
bin/ps/ps.c: ps_compat() to improve the readability of the
code.

Suggested by:	bde
MFC after:	1 week
2007-04-05 02:07:33 +00:00
ceri
1b7b9ce89e cipher(3) is gone.
MFC after:	3 days
2007-04-04 14:04:55 +00:00
kan
36e8f3f4fb Cast away const qualifier to squash GCC warning. 2007-04-04 03:29:02 +00:00
kan
035e850007 First argument of MD5Final is an array of unsigned characters.
Declare 'digest' local variable accordingly.
2007-04-04 03:24:01 +00:00
kan
aea51276ca Use correct u_int and socklen_t types for parameters if function is
expecting them, not int.
2007-04-04 02:59:54 +00:00
kan
4c8c917a1b Add include directives for string.h and stdlib.h to get proper function
prototypess of memset, memcpy and malloc respectively.
2007-04-04 02:40:59 +00:00
kan
8b7b60e0bc Include string.h to get proper memcpy prototype. 2007-04-04 02:28:48 +00:00
jkim
930f0277fa Import amd64 assembly implementations of div(3) family from NetBSD.
Obtained from:	NetBSD
2007-04-04 01:19:54 +00:00
cperciva
65266e0a56 Parse SCHILY.dev and SCHILY.ino fields. These are ignored when extracting
files, but used during archive creation.  This change unbreaks
# tar -cf rcp.tar /bin/rcp
# tar -cf rcp-copy.tar @rcp.tar
# cmp rcp.tar rcp-copy.tar
2007-04-03 23:53:55 +00:00
kan
183d257e23 Add entry for dl_iterate_phdr. 2007-04-03 18:38:01 +00:00
kan
94fce13c41 Add stub for dl_iterate_phdr. 2007-04-03 18:35:20 +00:00
kientzle
b356476feb 'ar' format support for libarchive, contributed by Kai Wang. 2007-04-03 05:34:36 +00:00
cperciva
b975b5f5f0 Now that there is always a compression-layer skip function available,
skip over the end-of-entry padding instead of reading and discarding
it.

Considering that tar files normally have a block size of 10kB, this
isn't likely to avoid reading any data, but at least it makes the code
simpler and clearer.
2007-04-02 04:21:22 +00:00
kientzle
65a30c481b Fix type-punned pointer, minor style fixes.
Thanks to: Joerg Sonnenberger
2007-04-02 00:41:37 +00:00
kientzle
4bdd9ba49a Remove unused variable; use consistent types.
Thanks to: Joerg Sonnenberger
2007-04-02 00:34:36 +00:00
kientzle
f4a2d7c1fc Be consistent: file flags are unsigned bitmaps.
Thanks to: Joerg Sonnenberger
2007-04-02 00:32:03 +00:00
kientzle
8b4607e1d3 Don't compare a signed char to 0xFF.
Thanks to: Joerg Sonnenberger
2007-04-02 00:29:52 +00:00
kientzle
214dcbe28a Avoid a potential overflow when 'skip' is larger than a pointer.
Thanks to: Joerg Sonnenberger
2007-04-02 00:25:11 +00:00
kientzle
fce578bdb8 Style fix: Use the correct type for 'bytes_to_write'.
Thanks to: Joerg Sonnenberger
2007-04-02 00:21:46 +00:00
kientzle
c25369d5e8 Style: bare "unsigned" is deprecated, use "unsigned int" instead.
Thanks to: Joerg Sonnenberger
2007-04-02 00:15:45 +00:00
kientzle
53ce615be3 Remove some unused fields from archive_read internal structure.
(Left over from when read and write used to share this structure.)
2007-04-02 00:11:54 +00:00
cperciva
5ca8f701f1 Provide a dummy compression-layer skip function which just reads data and
discards it, for use when the compression layer code doesn't know how to
skip data (e.g., everything other than the "none" compressor).  This makes
format level code simpler because that code can now assume that the
compression layer always knows how to skip and will always skip exactly
the requested number of bytes.

Discussed with:	kientzle (3 months ago)
2007-03-31 22:59:43 +00:00
trhodes
d74e4b9429 Back out my previous commit to this area, there are differences between
our implementation and OpenBSD's.

Requested by:	des
2007-03-30 06:12:45 +00:00
jasone
26e0e354b0 Use size_t instead of unsigned for pagesize-related values, in order to
avoid downcasting issues.  In particular, this change fixes
posix_memalign(3) for alignments greater than 2^31 on LP64 systems.

Make sure that NDEBUG is always set to be compatible with MALLOC_DEBUG. [1]

Reported by:	[1] Lee Hyo geol <hyogeollee@gmail.com>
2007-03-29 21:07:17 +00:00
jasone
ca1ed8272e Remove the run promotion/demotion machinery. Replace it with red-black
trees that track all non-full runs for each bin.  Use the red-black
trees to be able to guarantee that each new allocation is placed in the
lowest address available in any non-full run.  This change completes the
transition to allocating from low addresses in order to reduce the
retention of sparsely used chunks.

If the run in current use by a bin becomes empty, deallocate the run
rather than retaining it for later use.  The previous behavior had the
tendency to spread empty runs across multiple chunks, thus preventing
the release of chunks that were completely unused.

Generalize base_chunk_alloc() (and rename it to base_pages_alloc()) to
handle allocation sizes larger than the chunk size, so that it is
possible to support chunk sizes that are smaller than an arena object.

Reduce the minimum chunk size from 64kB to 8kB.

Optimize tracking of addresses for deleted chunks.

Fix a statistics bug for huge allocations.
2007-03-28 19:55:07 +00:00
jasone
ed54eea1f9 Change macro in order to refer to FreeBSD 7.0 instead of 7.0BSD.
Reported by:	Michal Mertl <mime@traveller.cz>
2007-03-28 18:55:44 +00:00
jasone
07d14320a3 Update the IMPLEMENTATION NOTES section to reflect recent malloc
enhancements.
2007-03-28 04:34:19 +00:00
jasone
064edc9b9b Remove some stray roff formatting that caused incorrect rendering. 2007-03-28 04:33:34 +00:00
jasone
a011d43e23 Add a HISTORY section. 2007-03-28 04:32:51 +00:00
yar
e8ee34e142 In account management, verify whether the account has been locked
with `pw lock', so that it's impossible to log into a locked account
using an alternative authentication mechanism, such as an ssh key.
This change affects only accounts locked with pw(8), i.e., having a
`*LOCKED*' prefix in their password hash field, so people still can
use a different pattern to disable password authentication only.

Mention all account management criteria in the manpage.

Approved by:	maintainer (timeout)
PR:		bin/71147
MFC after:	1 month
2007-03-27 09:59:15 +00:00
jkoshy
9645b900be Describe the contents of the "ar_name" and "ar_rawname" fields of
Elf_Arhdr structures better.
2007-03-27 04:47:50 +00:00
jkoshy
e13fe525e7 Bug fixes to ar(1) archive handling:
- Correctly retrieve the initial (special) members of an archive after
   an archive descriptor is rewound using elf_rand(SARMAG).
 - Do not strip trailing white space from the 'raw' names retrieved
   using elf_getarhdr().

Reported by:	"Hyo geol, Lee" <hyogeollee at gmail dot com>
2007-03-27 04:40:57 +00:00
jkoshy
1fe075e853 Clarify memory management rules for pmc_cpuinfo().
Suggested by:	"Harald Servat" <redcrash at gmail dot com>
2007-03-26 17:33:41 +00:00
jkoshy
359932b592 Document the return type of elf_rand(3) correctly. 2007-03-26 16:31:42 +00:00
jasone
8561f36aa3 Fix some subtle bugs for posix_memalign() having to do with integer
rounding and overflow.  Carefully document what the various overflow
tests actually detect.

The bugs mostly canceled out, such that the worst possible failure
cases resulted in non-fatal over-allocations.
2007-03-24 20:44:06 +00:00
kientzle
c9ae05df5c Notice when mkdir() fails.
Don't change permissions on an existing dir unless _EXTRACT_PERM
is requested.

In particular, bsdtar -x should not edit mode of existing dirs
now; bsdtar -xp will.
2007-03-24 05:02:16 +00:00
kientzle
bc64e87ca7 Fix compile error when libbz2 is unavailable. 2007-03-24 03:23:26 +00:00
jasone
b63dd57bc9 Fix posix_memalign() for large objects. Now that runs are extents rather
than binary buddies, the alignment guarantees are weaker, which requires
a more complex aligned allocation algorithm, similar to that used for
alignment greater than the chunk size.

Reported by:	matteo
2007-03-23 22:58:15 +00:00
jasone
a1325e04ba Use extents rather than binary buddies to track free pages within
chunks.  This allows runs to be any multiple of the page size.  The
primary advantage is that large objects are no longer constrained to be
2^n pages, which can dramatically decrease internal fragmentation for
large objects.  This also allows the sizes for runs that back small
objects to be more finely tuned.

Free runs are searched for linearly using the chunk page map (with the
help of some heuristic optimizations).  This changes the allocation
policy from "first best fit" to "first fit".  A prototype red-black tree
implementation for tracking free runs that implemented "first best fit"
did not cause a measurable speed or memory usage difference for
realistic chunk sizes (though of course it is possible to construct
benchmarks that favor one allocation policy over another).

Refine the handling of fullness constraints for small runs to be more
tunable.

Restructure the per chunk page map to contain only two fields per entry,
rather than four.  Also, increase each entry from 4 to 8 bytes, since it
allows for 32-bit integers, without increasing the number of chunk
header pages.

Relax the maximum chunk size constraint.  This is of no practical
interest; it is merely fallout from the chunk page map restructuring.

Revamp statistics gathering and reporting to be faster, clearer and more
informative.  Statistics gathering is fast enough now to have little
to no impact on application speed, but it still requires approximately
two extra pages of memory per arena (per process).  This memory overhead
may be acceptable for most systems, but we still need to leave
statistics gathering disabled by default in RELENG branches.

Rename NO_MALLOC_EXTRAS to MALLOC_PRODUCTION in order to make its intent
clearer (i.e. it should be defined in RELENG branches).
2007-03-23 05:05:48 +00:00
mlaier
4cb223184a Let people in on the magic of INET[6]_ADDRSTRLEN which comes quite handy in
combination with inet_ntop().

Reviewed by:	trhodes "works for me"
2007-03-21 05:46:18 +00:00
jasone
ef1856bb83 Avoid using vsnprintf(3) unless MALLOC_STATS is defined, in order to
avoid substantial potential bloat for static binaries that do not
otherwise use any printf(3)-family functions. [1]

Rearrange arena_run_t so that the region bitmask can be minimally sized
according to constraints related to each bin's size class.  Previously,
the region bitmask was the same size for all run headers, which wasted
a measurable amount of memory.

Rather than making runs for small objects as large as possible, make
runs as small as possible such that header overhead stays below a
certain bound.  There are two exceptions that override the header
overhead bound:

	1) If the bound is impossible to honor, it is relaxed on a
	   per-size-class basis.  Since there is one bit of header
	   overhead per object (plus a constant), it is impossible to
	   achieve a header overhead less than or equal to 1/(# of bits
	   per object).  For the current setting of maximum 0.5% header
	   overhead, this relaxation comes into play for {2, 4, 8,
	   16}-byte objects, for which header overhead is (on 64-bit
	   systems) {7.1, 4.3, 2.2, 1.2}%, respectively.

	2) There is still a cap on small run size, still set to 64kB.
	   This comes into play for {1024, 2048}-byte objects, for which
	   header overhead is {1.6, 3.1}%, respectively.

In practice, this reduces the run sizes, which makes worst case
low-water memory usage due to fragmentation less bad.  It also reduces
worst case high-water run fragmentation due to non-full runs, but this
is only a constant improvement (most important to small short-lived
processes).

Reduce the default chunk size from 2MB to 1MB.  Benchmarks indicate that
the external fragmentation reduction makes 1MB the new sweet spot (as
small as possible without adversely affecting performance).

Reported by:	[1] kientzle
2007-03-20 03:44:10 +00:00
jkoshy
b5f826c9a6 Correct a typo.
Submitted by:	 Kai Wang <kaiw27 at gmail dot com>
2007-03-19 03:52:20 +00:00
cperciva
820da80807 Don't forget to increment the raw_position (bytes written) counter, even
when operating in non-buffered mode.

Pointy hat to:	cperciva
MFC after:	3 days
2007-03-17 14:59:04 +00:00
maxim
47a8f834c2 o Add ENVIRONMENT section and mention there that TMPDIR is ignored
when issetugid(3) is true.

PR:		docs/108346
Obtained from:	OpenBSD
MFC after:	1 week
2007-03-16 21:46:24 +00:00
pjd
781b031d07 The ufs_disk_fillout(3) can take special device name (with or without /dev/
prefix) as an argument and mount point path. At the end it has to find
device name file system is stored on, which means when mount point path is
given, it tries to look into /etc/fstab and find special device
corresponding to the given mount point. This is not perfect, because it
doesn't handle the case when file system is mounted by hand and mount point
is given as an argument.

I found this problem while trying to use snapinfo(8), which passes mount
points to the ufs_disk_fillout(3) function, but I had file system mounted
manually, so snapinfo(8) was exiting with the error below:

	ufs_disk_fillout: No such file or directory

I modified libufs(3) to handle those arguments (the order is important):

1. special device with /dev/ prefix
2. special device without /dev/ prefix
3. mount point listed in /etc/fstab, directory exists
4. mount point listed in /etc/fstab, directory doesn't exist
5. mount point of a file system mounted by hand
2007-03-16 03:13:28 +00:00
rrs
bd8786ed77 - Sysctl's move to seperate file
- moved away from ifn/ifa access to sctp_ifa/sctp_ifn
  built and managed by the add-ip code.
- cleaned up add-ip code to use the iterator
- made iterator be a thread, which enables auto-asconf now.
- rewrote and cleaned up source address selection (also
  made it use new structures).
- Fixed a couple of memory leaks.
- DACK now settable as to how many packets to delay as
  well as time.
- connectx() to latest socket API, new associd arg.
- Fixed issue with revoking and loosing potential to
  send when we inflate the flight size. We now inflate
  the cwnd too and deflate it later when the revoked
  chunk is sent or acked.
- Got rid of some temp debug code
- src addr selection moved to a common file (sctp_output.c)
- Support for simple VRF's (we have support for multi-vfr
  via compile switch that is scrubbed from BSD but we won't
  need multi-vrf until we first get VRF :-D)
- Rest of mib work for address information now done
- Limit number of addresses in INIT/INIT-ACK to
  a #def (30).

Reviewed by:	gnn
2007-03-15 11:27:14 +00:00
rwatson
7f1d3da162 Fix a comment in memstat.h: errors are associated with memory type lists,
not individual types.

Submitted by:	Bryan Venteicher <bryanv at daemoninthecloset dot org>
MFC after:	3 days
2007-03-15 10:44:18 +00:00
kientzle
847bf0fdc9 When ARCHIVE_EXTRACT_UNLINK is requested:
* Only try to remove the existing item if we're not restoring a directory.
  * If unlink fails, try rmdir next.
This should fix the broken --unlink option in bsdtar.

Thanks again to: Kris Kennaway, for beating up bsdtar on pointyhat.
2007-03-13 06:04:24 +00:00
stefanf
176735320e Merge the following changes from NetBSD:
history.c 1.32:
  # Fix memory leak found by valgrind (Julien Torres)
map.c 1.24:
  # fix debugging printf format.
read.c 1.40:
  # Fix bug with multiple pending el_pushes. Reported by Julien Torres.
tty.c 1.24:
  # Coverity CID 1216: Prevent negative index use.

MFC after:	3 weeks
2007-03-11 21:47:40 +00:00
stefanf
11fa4c4751 Merge the following changes from NetBSD:
chared.h 1.17, common.c 1.19, emacs.c 1.21, key.c 1.18, key.h 1.9, map.c 1.23,
term.c 1.42, term.h 1.17, vi.c 1.25:
  # Print the actual eofc, instead of ^D\b\b.
  # Change internal character decoding to prevent buffer oveflows.
key.c 1.19, key.h 1.10:
  # move declaration to header file.
term.c 1.43:
  # Coverity CID 806: Prevent NULL deref
term.c 1.44:
  # Coverity CID 1668: Plug memory leak.
term.c 1.45:
  # Fix compilation.

MFC after:	3 weeks
2007-03-11 18:30:22 +00:00
kientzle
c533ace5de Libarchive 2.0.23:
* The ACL formatter was mis-formatting entries which had a
     user/group ID but no name.  Make the parser tolerant of
     these, so that old archives can be correctly restored;
     fix the formatter to generate correct entries.
   * Fix overwrite detection by introducing a new "FAILED" return
     code that indicates the current entry cannot be continued
     but the archive as a whole is still sound.
   * Header cleanup:  Remove some unused headers, add some that
     are required with new Linux systems.
2007-03-11 10:29:52 +00:00
stefanf
0aafd373d5 Merge changes to the NetBSD copyright (advertising clause removal). 2007-03-11 08:41:01 +00:00
bms
b4f28cba28 Wordsmithery.
Pointed out by:	ru
2007-03-09 19:43:42 +00:00
rafan
fa9f87addc Enable ncurses wide character support
Approved by:	delphij (mentor)
Tested by:	kris on pointyhat (early version), current@
2007-03-09 12:11:58 +00:00
rafan
00dd163071 - style.Makefile(9) fix
- first line is $FreeBSD$
  - Reorder special variables: DPADD, LPADD, CFLAGS
  - Use = instead of += for variables that are initially empty
  - Use space instead of tab after :
  - Use one tab after =
- Use .SUFFIXES for section 3 manual page which simplifies Makefile a lot
- Use SHAREDIR instead of /usr/share
- Remove SRCDIR in INCS since we set .PATH properly
- Use plural in variable name when it stands for more that one source file

Reviewed by:	ru
Approved by:	delphij (mentor)
2007-03-09 09:54:07 +00:00
bms
e8eac47f5e Document SO_ACCEPTCONN.
Submitted by:	Vlad GALU (with changes)
MFC after:	3 days
2007-03-08 12:57:12 +00:00
kientzle
0d9d66867b New tests for system-independent ACL support.
These tests verify that archive_entry objects can store and return
ACL data and that pax format archives can read and write ACL
information.  These do not (yet) test that ACL data is read or
written to disk correctly.  (And hence would not have caught the
recent snafu about ACL read-from-disk being turned off.)
2007-03-08 06:09:27 +00:00
kientzle
4e920aa7c0 Distinguish between the end of ACL data and an error in pulling
ACL data from the archive entry.  This doesn't impact
archive_read_extract or archive_write_disk since they only
check for != ARCHIVE_OK when calling this function.  (Though
they should be more careful.)
2007-03-08 06:07:07 +00:00
jkoshy
cb00361cdd Add GELF_* accessor macros.
Prodded by:	Sam Arun Raj <samarunraj at gmail dot com>
2007-03-08 04:01:30 +00:00
bms
bbe2ee3543 Fix license. Clause 4 is still required (UCB materiel).
Submitted by:	rwatson
Pointy hat to:	bms
2007-03-07 13:38:11 +00:00
bms
769f429126 use 2-clause BSD license as per hoskins strike-off july 22 1999.
use wording of FreeBSD License.
2007-03-07 11:06:46 +00:00
jhb
881404945f Only reject file descriptors higher than FD_SETSIZE if we are not using
poll(2) or kqueue(2).  Previously we rejected fd's higher than FD_SETSIZE
for kevent(2), and larger than sysconf(_SC_OPEN_MAX) for poll(2).  However,
the check for poll(2) wasn't really needed.  open(2) and socket(2) won't
return an fd you can't pass to either poll(2) or kevent(2).  This fixes
a but where gethostbyname() would fail if you had more than 1023 files
open in a process.

MFC after:	1 week
Reviewed by:	ume
Found by:	ps
2007-03-05 19:39:51 +00:00
brian
b30fdbdb81 Oops, fix a typo in the last commit :-/ 2007-03-05 19:00:49 +00:00
brian
cdf4f0e426 In the NOTYET code path when a process forks, the remaining
child thread goes back to system scope rather than process
scope.  This allows an ensuing exec() to actually work.

This change was made a year ago here, but I "forgot" to
commit it :(

Approved by:	deischen
MFC after:	3 weeks
2007-03-05 17:47:27 +00:00
ru
873b029d16 Apply my patch properly. 2007-03-05 15:44:00 +00:00
bms
e97dc5692f Fix markup.
Submitted by:	ru
MFC after:	2 days
2007-03-05 13:52:01 +00:00
bms
bc98d02991 .Xr nit.
Submitted by:	brueffer
2007-03-05 12:54:03 +00:00
bms
d623026ad1 Update shutdown() manual page to reflect actual behaviour of code.
Add IMPLEMENTATION NOTES section explaining in detail the effect this
system call has in common use cases involving PF_INET and PF_INET6 sockets.

PR:		kern/84761
MFC after:	2 days
2007-03-05 12:39:53 +00:00
delphij
b444fd4080 Test cases for back references.
Obtained from:	OpenBSD
2007-03-05 09:44:41 +00:00
delphij
366513d474 Only stop evaluation of a back reference if the match length is
zero and the recursion level is too deep.

Obtained from:	OpenBSD
2007-03-05 09:43:55 +00:00
delphij
01efaf95b8 Avoid infinite recursion on:
echo "foo foo bar bar bar baz" | sed 's/\([^ ]*\)\( *\1\)*/\1/g'

Obtained from:	OpenBSD via NetBSD (rev. 1.18)
2007-03-05 03:07:36 +00:00
simon
1a39e1d25c Disable RPC exponential back-off for FreeBSD.org systems (IE. hidden
behind _FREEFALL_CONFIG).  This is done mainly to make NIS even more
resistant to packet loss.

This is not enabled by default for "normal" FreeBSD since it might cause
the server providing the RPC service to be hit heavily with RPC traffic
in case of problems.  freefall.FreeBSD.org and hub.FreeBSD.org have been
running with a patch similar to this for a couple of weeks.

MFC after:	1 week
Discussed with:	peter
2007-03-04 12:25:03 +00:00
simon
38eadf93ff - Bump _yplib_timeout limit from 10 to 20 seconds to better handle
packet loss when talking to a NIS server.
- Set 1 second retry timeout to further realistically handle UDP
  packet loss for yp_next packet bursts.  If the packet hasn't come
  back within 1 second its rather unlikely to come back at all.  There
  is still back-off mechanism in RPC so if there is another reason
  than packet loss for the lack of response within 1 second, the NIS
  server will not be totally bombarded with requests.

This reduces the risk of NIS failing with:

     yp_next: clnt_call: RPC: Timed out

considerably.  This is mainly a problem if you have larger NIS maps
(like at FreeBSD.org) since enumerations of the lists will cause a UDP
packet bursts where a few packets being lost once in a while do
happen.

MFC after:	1 week
Discussed with:	peter
Problem mainly diagnosed by:	peter
2007-03-04 10:30:43 +00:00
kientzle
1a60578adb libarchive 2.0
* libarchive_test program exercises many of the core features
  * Refactored old "read_extract" into new "archive_write_disk", which
    uses archive_write methods to put entries onto disk.  In particular,
    you can now use archive_write_disk to create objects on disk
    without having an archive available.
  * Pushed some security checks from bsdtar down into libarchive, where
    they can be better optimized.
  * Rearchitected the logic for creating objects on disk to reduce
    the number of system calls.  Several common cases now use a
    minimum number of system calls.
  * Virtualized some internal interfaces to provide a clearer separation
    of read and write handling and make it simpler to override key
    methods.
  * New "empty" format reader.
  * Corrected return types (this ABI breakage required the "2.0" version bump)
  * Many bug fixes.
2007-03-03 07:37:37 +00:00
jkoshy
cf625a0a3b Fix a typo.
Submitted by:	 Kai Wang <kaiw27 at gmail dot com>
2007-03-03 06:13:38 +00:00
kientzle
11f5cfdca1 Force the umask to something predictable while creating objects
on disk.  In particular, this fixes tar -xp restore of mode bits.
2007-03-02 16:44:58 +00:00
kientzle
c00cd44eca Because the buffer gets released immediately, I need to
copy the symlink target name, not just copy the reference.
This problem sometimes caused crashes when extracting
symlinks from ISO9660 images.

Thanks to: Diego "Flameeyes" Pettenò
2007-03-01 06:22:34 +00:00
bms
9dc2491bfe Document the AF_LINK extension which was imported from NetBSD. 2007-02-28 21:28:33 +00:00
bms
0738a9d791 Nuke ascii2addr() and addr2ascii(). They have no consumers anywhere
in FreeBSD, and originated from INRIA IPv6.

Stub out netstat reference to addr2ascii() I mistakenly introduced.
Update misleading man page sections.

Merge NetBSD's getnameinfo() AF_LINK extensions for a portable way to
print link-layer addresses given a sockaddr_dl(), minus the IEEE 1394
bits which don't map directly to our code.

Obtained from:	NetBSD (getnameinfo.c)
Discussed on:	current (March 2006)
2007-02-28 21:18:38 +00:00
ru
c9aa058283 Remove a (harmless) stray backslash. 2007-02-27 16:13:19 +00:00
n_hibma
530304b63e Make hosts.allow point to hosts_options instead.
Requested by: 	ru
2007-02-27 14:22:07 +00:00
rrs
dfdc42503b Fix include declaration it was sys/sctp.h should be netinet/sctp.h,
reported by pluknet@gmail.com.
2007-02-26 12:23:32 +00:00
rwatson
4afabb70d3 Mark data structures used on the wire with IPX SAP as __packed so that
they are not inappropriately padded as a result of compiler changes.

PR:		kern/74105
Submitted by:	Bob Johnson <bob89 at eng dot ufl dot edu>
2007-02-26 12:07:08 +00:00
kientzle
3de91924d2 Move _posix1e_acl_name_to_id out of acl_support.c and into
acl_from_text.c.  Since acl_from_text.c is the only place it
is used, we can now make this internal utility function "static."

As a bonus, acl_set_fd() no longer pulls in getpwuid() for no reason.

MFC after: 7 days
2007-02-26 02:07:02 +00:00
kientzle
76658c2a7d Don't assert() the TLS allocation requested is big enough; just
fix the argument.

In particular, this is a step towards breaking crt1's dependence on stdio.
2007-02-25 21:23:50 +00:00
jasone
a1e21ebd26 Modify chunk_alloc() to prefer mmap()ed memory over sbrk()ed memory.
This has no impact unless USE_BRK is defined (32-bit platforms), in
which case user allocations are allocated via mmap() if at all possible,
in order to avoid the possibility of unreclaimable chunks in the data
segment.

Fix an obscure bug in base_alloc() that could have allowed undefined
behavior if an application were to use sbrk() in conjunction with a
USE_BRK-enabled malloc.
2007-02-22 19:10:30 +00:00
rrs
d7423f55fb Fixes build breakage.. invalid type casts.. and invalid
type for size in one place.
2007-02-22 14:48:12 +00:00
rrs
ae6663525a First cut of the sctp man pages. Still need work. 2007-02-22 14:32:39 +00:00
rrs
5a82d02989 Fixes __FreeBSD__ being present (they should not)
and also trailing garbage on undef of magic numbers.
2007-02-22 13:39:57 +00:00
rrs
d35264cb57 Adds a performance improvement for when sctp_sendx is
called with only one address, we then can call the
generic system call. Also fixes some socket api
type issues and cleans up the "magic" numbers that
were being used in the code.

Reviewed by:	gnn
2007-02-22 12:42:43 +00:00
dumbbell
d110653fb0 Fix a bug with the release of section's raw data. Both release loops
were using translated data linked list, leading to a memory leak.

Jkoshy's testsuite was used to check for non-regression.
2007-02-21 08:14:22 +00:00
n_hibma
277133d8d8 Create a link from hosts.allow(5) hosts_access(3), to give the user a
starting point for more information on a file in /etc.

MFC after:	1 week
2007-02-20 23:12:04 +00:00
trhodes
2595ba05eb Fix mis-reference of incorrect manual page in ERRORS section.
Noticed by:	Harlan Stenn <stenn@ntp.isc.org>
2007-02-17 01:54:00 +00:00
trhodes
a51adc2db0 Hook ypclnt.3 up to the build. 2007-02-15 02:43:14 +00:00
trhodes
d75b5ea10e Add a ypclnt.3 manual page referenced by various other YP based manual pages.
PR:		108980
Obtained from:	OpenBSD (minimal changes for mdoc(7) style)
2007-02-15 02:40:31 +00:00
brueffer
f099a37e0b New sentence -> new line. While here, fix apostrophe abuse. 2007-02-14 07:38:39 +00:00
julian
98dbc79e89 Change the date. 2007-02-13 23:06:39 +00:00
julian
8ba81b8705 Make the kse man page reflect the removal of the KSEGRP kernel abstraction. 2007-02-13 23:02:15 +00:00
maxim
bcd0823d3d o s/cgetseq/cgetset/
Obtained from:	DragonFly
2007-02-11 18:14:49 +00:00
jhb
9c764c7fc3 - Move 'struct swdevt' back into swap_pager.h and expose it to userland.
- Restore support for fetching swap information from crash dumps via
  kvm_get_swapinfo(3) to fix pstat -T/-s on crash dumps.

Reviewed by:	arch@, phk
MFC after:	1 week
2007-02-07 17:43:11 +00:00
cperciva
41a7b3c7b0 If (a == NULL), don't dereference (a) to record an error message. [1]
Fallout from changing the skip API to use off_t instead of size_t: Print
the skip length using %jd and cast to (intmax_t) instead of %d / (int),
and if ARCHIVE_API_VERSION >= 2, allow the client skipper to be called
for requests longer than SSIZE_MAX. [2]

Approved by:	kientzle
Pointy hats to:	kientzle [1], cperciva [2]
MFC after:	3 days
2007-02-05 16:30:40 +00:00
rafan
fb2efa60c3 Remove old libmytinfo link.
Approved by:	delphij (mentor)
Requested by:	ache
2007-02-01 08:45:27 +00:00
kientzle
5d5227539d Add support for a new archive format "empty" that reads empty files. 2007-02-01 06:18:17 +00:00
mpp
6236fe8975 Docment the acceptable values for the id parameter. 2007-02-01 02:31:02 +00:00
jasone
5918b89319 Fix a utrace(2)-related bug in calloc(3).
Integrate various pedantic cleanups.

Submitted by:	Andrew Doran <ad@netbsd.org>
2007-01-31 22:54:19 +00:00
dougb
165b7b2e7f Update generated files for BIND 9.3.4 2007-01-29 18:33:18 +00:00
peter
966f210e87 Remove getobjformat() from libc's symbol map. It probably should have been
in the private area anyway.  Nothing in FreeBSD uses it any more anyway.
2007-01-25 22:36:36 +00:00
peter
2718f9e8cb Retire more remnants of a.out support, as threatened in 2002.
Laughed-at-by:  kris
2007-01-25 22:25:59 +00:00
bms
df992b84fc Docuemnt exactly which functions access which NSS databases.
Point out that FreeBSD libc has compat stubs for GNU glibc NSS
modules which access NSDB_PASSWD/NSDB_GROUP, but not NSDB_HOSTS;
based on painful experience porting nss_mdns.

Reviewed by:	ru
2007-01-22 11:45:25 +00:00
pjd
14e97fe311 Send not only Access Request, but also Access Challenge with defined
NAS-Identifier and NAS-IP-Address.

Reviewed by:	bz
MFC after:	1 month
2007-01-20 08:52:04 +00:00
maxim
202535955d o Remove duplicate includes.
Obtained from:	Slava Semushin via NetBSD
2007-01-20 08:24:02 +00:00
rafan
4c6fb759b6 Retire old ncurses build glue
Approved by:	delphij
2007-01-20 07:49:43 +00:00
rafan
22d46f6b21 Switch to new ncurses build glue
Approved by:	delphij
2007-01-20 07:48:10 +00:00
rafan
50b1802afa Introduce new ncurses build glues which are part of ncurses 5.6 update.
Approved by:	delphij
Inspired by:	DragonFly's and lib/bind
2007-01-20 07:46:45 +00:00
imp
4e9ace58c2 On FreeBSD/arm, any value > 50 bits will result in a rediculously huge
number being returned for mktime and timegm calls.  Choose 48 because
that works well.  This does reduce the dynamic range of tm_year from
about 2 billion years down to "only" about 9 million years.  Please
contact me if this restriction poses a problem.

Due to the complexity of the code, I admit that I didn't trace down
what, exactly, was overflowing with longer bits.  This fixes software
that we run on the embedded systems we have.
2007-01-19 01:16:35 +00:00
pjd
39f3fe7daf When we try to set set-gid bit with chmod(2) on a file, which we own, but our
effective group ID (and any of our group) doesn't match the group ID of the
file, we get EPERM.  This doesn't conform POSIX. POSIX requires that we should
return 0, but silently clear the set-gid bit.
2007-01-16 15:17:27 +00:00
kientzle
f6ff13951b Correct the int->text conversion. <sigh>
MFC after: 3 days
2007-01-13 03:30:14 +00:00
imp
bfba87044e Remove 3rd clause, renumber, ok per email 2007-01-12 07:31:30 +00:00
imp
9109b1ceb8 Remove 3rd clause, renumber, ok per email 2007-01-12 07:26:21 +00:00
maxim
fd81dffb5c o Document SO_TIMESTAMP and SO_BINSTAMP socket options.
PR:		docs/107696
Submitted by:	Rob Robertson
Reviewed by:	ru
Obtained from:	NetBSD (mostly)
MFC after:	1 week
2007-01-11 18:45:41 +00:00
imp
9fc5134e27 Boris Popov has granted permission to remove the advertising clause
from lib/libncp.  Make it so.  Also, renumbered clauses.
2007-01-09 23:27:39 +00:00
kientzle
af26d8ef92 Fix the copyright notice; it was always intended to be
a vanilla 2-clause BSD license, but somehow some confusing
extra verbage get copied from somewhere.

Also, update the copyright dates to 2007 for all of the files.

Prompted by: several questions about what those extra words really mean
2007-01-09 08:05:56 +00:00
imp
130ae175fc Remove California Regent's clause 3, per letter 2007-01-09 01:02:06 +00:00
imp
375cfaed03 Remove silly n that crept in 2007-01-09 00:38:24 +00:00
imp
cd1f140ae4 Per Regents of the University of Calfornia letter, remove advertising
clause.

# If I've done so improperly on a file, please let me know.
2007-01-09 00:28:16 +00:00
imp
fc4122352b Per Olivier Houchard, use the proper license for this file. He
bogusly used the kvm_powerpc.c file as a template for the license, but
then either wrote the code himself, or cribbed it from the kvm_i386
file.  The only thing from the kvm_powerpc.c file was the license.
Correct this mistake with his blessing.
2007-01-08 18:25:58 +00:00
imp
98103c9fb2 Remove the advertising clause. UCB did this some time ago, but these
files were never updated to reflect that.

MFC After: 2 days
2007-01-08 17:35:36 +00:00
pjd
c3ed4409e6 Be more specific in ENXIO description:
- O_NONBLOCK flag has to be set, if it is not set, open(2) will wait for
  another process opening the fifo for reading,
- Use O_WRONLY which implies that the file has to be opened _only_ for write.
2007-01-07 23:06:53 +00:00
pjd
78c4023bc4 open(2) returns EROFS when O_CREAT is specified and the named file would
reside on a read-only file system.
2007-01-07 23:01:32 +00:00
kientzle
3ab35533eb Special case to support hard-coded configuration for building on Windows. 2007-01-07 21:32:25 +00:00
pjd
ef0342d7a8 - POSIX mentions that EACCES can be returned when O_TRUNC is specified
separately. Do the same.
- Document when EPERM can be returned.
2007-01-07 17:55:19 +00:00
pjd
39a9779535 Prefer "to be modified" over "to be opened for writing".
This is quite tricky situation, because we allow to open a file with
O_RDONLY|O_TRUNC. O_TRUNC modifies a file, but we actually don't open
it for writing. EISDIR is also returned when we try to open a directory
O_RDONLY|O_TRUNC, which is correct.
POSIX says that "The result of using O_TRUNC with O_RDONLY is undefined.",
we choose to accept it (Solaris did the same), that's why "to be modified"
seems more accurate to me.
2007-01-07 17:32:16 +00:00
das
3ef4cfecda Implement modfl(). 2007-01-07 07:54:21 +00:00
das
24a4f9a492 Handle inf/nan correctly. 2007-01-06 21:50:04 +00:00
das
3d86fb6387 Fix a problem relating to fesetenv() clobbering i387 register stack.
Details: As a side-effect of restoring a saved FP environment,
fesetenv() overwrites the tag word, which indicates which i387
registers are in use.  Normally this isn't a problem because
the calling convention requires the register stack to be empty
on function entry and exit.  However, fesetenv() is inlined, so we
need to tell gcc explicitly that the i387 registers get clobbered.

PR:	85101
2007-01-06 21:46:23 +00:00
das
3e2f039e9d Fix a cut-and-paste-o. 2007-01-06 21:23:20 +00:00
das
8441570fc8 Correctly handle NaN. 2007-01-06 21:22:57 +00:00
das
b4ef63382c Correctly handle inf/nan. This routine is currently unused because we
seem to have assembly versions for all architectures, but it can't
hurt to fix it.
2007-01-06 21:22:38 +00:00
das
f0732593ba Remove modf from libm's symbol map. It's actually in libc for
hysterical raisins.
2007-01-06 21:18:17 +00:00
cperciva
f583eee6e1 Change the client skipper API to use off_t instead of size_t/ssize_t; but
wrap this within #if/#else/#endif so that it will only take effect once
ARCHIVE_API_VERSION is increased (which should happen on HEAD some time
between now and when RELENG_7 is branched).
2007-01-05 10:48:18 +00:00
das
aeb763b099 Remove an unneeded fnstcw instruction.
Noticed by:	bde
2007-01-05 07:15:26 +00:00
das
a1794f56b7 Remove a note pertaining to the Alpha. 2007-01-05 07:14:26 +00:00
davidxu
9770c4c640 Insert mutex at tail if it has highest ceiling. 2007-01-05 03:57:11 +00:00
davidxu
dec2b546dd Oops, don't corrupt the list. 2007-01-05 03:33:47 +00:00
davidxu
190109deab Check if the PP mutex is recursive, if we have already locked it, place the
mutex in right order sorted by priority ceiling.
2007-01-05 03:29:15 +00:00
cperciva
3756545e6c Convert compression_skip from taking a size_t skip length request and
returning the length skipped in a ssize_t to using off_t for both.  This
does not break any A[BP]Is, since compression_skip is entirely internal
to libarchive.

If a skip request is > SSIZE_MAX, don't pass it down to the client layer
skip function, since those still uses size_t / ssize_t.  Instead, just
read the data and throw it away.

With this commit, libarchive/bsdtar should now successfully skip archive
entries of >2GB on 32-bit systems, but does so slower than necessary.
The performance will improve with a future A[BP]I breaking commit which
makes client layer skip functions use off_t.

Discussed with:	kientzle
MFC after:	1 week
2007-01-04 12:45:00 +00:00
cperciva
ac26dc2c91 Rewrite and simplify archive_read_format_tar_skip. Compression-layer skip
functions are required to skip the requested distance, so we can avoid
lots of bookkeeping which would otherwise be necessary.

Reviewed by:	kientzle
MFC after:	1 week
2007-01-03 21:47:35 +00:00
cperciva
e2797fe01c Quiet a compiler warning where (off_t + size_t) has a different sign
from (off_t).

Submitted by:	delphij
2007-01-03 20:01:44 +00:00
cperciva
13863638a5 Insert zero-padding between sparse blocks in archive_read_data(). This
fixes "tar -c @foo.tar" where "foo.tar" contains sparse entries.

MFC after:	1 week
2007-01-03 13:16:59 +00:00
das
04ab9d0942 The distinction between quiet and signaling NaN formats is
machine-dependent; these files tell the latest version of gdtoa
what to do.
2007-01-03 05:00:03 +00:00
das
59fd405588 Fix rounding of 0xf for hex fp formats.
PR:	90333
2007-01-03 04:57:58 +00:00
simon
df927be246 Bump modification date for last update. 2006-12-28 17:15:21 +00:00
simon
86e98cb2fb Catch up struct cmsghdr and struct msghdr in the manual page with the
actual structures in socket.h (which were updated 7 years ago).

MFC after:	1 week
2006-12-28 17:10:23 +00:00
cperciva
64644d520d Correct spelling of "accommodate", "guarantee", "guaranteed", "guard",
"return", "ridiculous", and "success".

MFC after:	3 days
2006-12-28 05:21:48 +00:00
jkoshy
594130bd7c Document the additional error returns possible when handling ELF objects
that require extended numbering.
2006-12-25 02:24:39 +00:00
jkoshy
26d8253ac6 Keep shadow copies of the e_shnum', e_phnum' and `e_shstrndx'
members of the ELF Executable Header inside the library-private
`struct _Elf' descriptor and only update the underlying Elf{32,64}_Ehdr
structure on an elf_update(3) call.  These fields of the Ehdr
structure are technically `out of bounds' for an application program
per the ELF(3) API, but we've seen applications that initialize
a new Ehdr structure using memcpy(), messing up the library's
invariants. [1]

Implement elf_getphnum() and handle ELF objects with more than
64K program header table entries.

Reported by:	jb [1]
2006-12-25 02:22:22 +00:00
jkoshy
44313eba34 Use strncpy() instead of strlcpy() when copying members of
a `struct ar_hdr'.  These members do not use NUL-termination
while strlcpy() expects its source buffer to be NUL-terminated.
2006-12-25 02:06:32 +00:00
marius
7bebf7360d Fix a typo in __fpu_ftox() that caused long double to long (and long long)
conversion of negative numbers to always result in -1.
While at it, rearrange the nearby comment so it fits in 80 chars per line,
like the rest of this file does.

PR:		107130
MFC after:	1 day
2006-12-24 22:24:39 +00:00
jkoshy
4df7e1dc11 Correct a logic error. 2006-12-24 09:45:10 +00:00
jasone
9667303e99 Implement chunk allocation/deallocation hysteresis by caching one spare
chunk per arena, rather than immediately deallocating all unused chunks.
This fixes a potential performance issue when allocating/deallocating
an object of size (4kB..1MB] in a loop.

Reported by:	davidxu
2006-12-23 00:18:51 +00:00
davidxu
d305995d66 get LIBPTHREAD_ADAPTIVE_SPIN early, so it can be used for some global
mutexes.
2006-12-20 05:05:44 +00:00
davidxu
e034ab54f2 Check environment variable PTHREAD_ADAPTIVE_SPIN, if it is set, use
it as a default spin cycle count.
2006-12-20 04:43:34 +00:00
jmg
406c54c0f9 add a missing the...
MFC after:	3 days
2006-12-19 20:20:39 +00:00
peadar
e3b0678e20 Clean bound and non-bound pthread structures consistently before
they become candidates for reuse.  Without this fix, some of the
state from a thread structure's previous incarnation could interfere
with its new one. Specifically, a non-bound thread started as
"suspended" (see pthread_attr_setcreatesuspend_np()) might not get
scheduled at all when resumed, as the "active" flag would be set
spuriously.

Reviewed by: deischen@, davidxu@
MFC after: 1 week
2006-12-18 17:08:07 +00:00
jkoshy
25bc13b736 Use <osreldate.h> rather than the OS version reported by the kernel
to determine which Elf Types are to be handled.  Change the M4
templates to wrap an `#if __FreeBSD_version >= NNN'/`#endif' pair
around the generated code for each ELF data type, where `NNN' is
the OS version where the ELF type was added to the source tree.

This change allows cross-builds of old sources on newer FreeBSD
systems to work correctly.

Problem reported by:	ru
2006-12-18 05:40:01 +00:00
jkoshy
fdbeae7cd4 Use the correct value of __FreeBSD_version. 2006-12-18 05:36:23 +00:00
jkoshy
38887bc05d Fix a typo. 2006-12-16 10:45:43 +00:00
rodrigc
0ce5d91ed1 Consistently use a socklen_t type where required, and eliminate
GCC warning "dereferencing type-punned pointer will
break strict-aliasing rules".

Reviewed by:	rrs
2006-12-16 06:03:43 +00:00
ume
705f242eca Merge BIND9 9.3.3 into main chunk.
Obtained from:	ISC
MFC after:	1 week
2006-12-15 20:59:55 +00:00
ume
89a3ca4811 Vendor import of BIND 9.3.3 2006-12-15 20:49:44 +00:00
ume
bf42d1f92c This commit was generated by cvs2svn to compensate for changes in r165254,
which included commits to RCS files with non-trunk default branches.
2006-12-15 20:49:44 +00:00
pjd
6e9534365d chflags(2) returns EPERM when user tries to set or remove the SF_SNAPSHOT flag. 2006-12-15 19:23:27 +00:00
rrs
45136271b2 This adds the "system calls"
sctp_getaddrlen()
 sctp_connectx()
 sctp_bindx()
 sctp_opt_info()
 sctp_getpaddrs()
 sctp_freepaddrs()
 sctp_getladdrs()
 sctp_freeladdrs()
 sctp_sendmsg()
 sctp_getassocid()
 sctp_send()
 sctp_sendx()
 sctp_sendmsgx()
 sctp_recvmsg()
 sctp_peeloff()

Manual pages will be forthcoming (and the commit to porters-handbook)
2006-12-15 12:01:50 +00:00
davidxu
ca27871833 - Remove variable _thr_scope_system, all threads are system scope.
- Rename _thr_smp_cpus to boolean variable _thr_is_smp.
- Define CPU_SPINWAIT macro for each arch, only X86 supports it.
2006-12-15 11:52:01 +00:00
imp
7cc2522d0a band-aide until _SC_PHYS_PAGES actually is defined 2006-12-14 22:14:14 +00:00
pjd
fbddb38d93 Add support for _SC_PHYS_PAGES, which is not standard, but can be found in
Solaris and Linux.
2006-12-14 14:32:59 +00:00
pjd
1080ddcf3f Document _SC_PAGESIZE. There are still 85 undocumented variables.
Obtained from:	NetBSD
2006-12-14 14:27:15 +00:00
davidxu
26cbb63b3f Create inline function _thr_umutex_trylock2 to only try one atomic
operation, if it is failed, we call syscall directly, this saves
one atomic operation per lock contention.
2006-12-14 13:22:02 +00:00
pjd
8ce2a07776 - truncate(2) returns EFBIG if the length argument was greater than the
maximum file size.
- truncate(2) returns EINVAL if the length argument was less than 0.
2006-12-13 22:51:23 +00:00
pjd
481eab3722 Append-only flag also denies chown(2). 2006-12-13 22:17:58 +00:00
jkoshy
646e93c9a4 Name the functions documented by this manual page correctly. 2006-12-13 15:14:46 +00:00
pjd
235da7c5d9 Much more correct EFTYPE description. 2006-12-13 13:46:01 +00:00
pjd
575c21f380 Better wording. 2006-12-13 13:26:32 +00:00