Commit Graph

11168 Commits

Author SHA1 Message Date
Yaroslav Tykhiy
58d6bdcbe0 Use the current user's login class for the decisions about where
the nologin(5) file is located and whether the user may bypass its
restriction.

Add some error checks.

Approved by:	des
PR:		bin/107612
2007-06-14 13:07:06 +00:00
Yaroslav Tykhiy
be89d8067c Document the quirks of ~/.login_conf and LOGIN_MECLASS. 2007-06-14 09:33:37 +00:00
Yaroslav Tykhiy
2e376efd52 Improve mdoc(7) markup. 2007-06-14 07:31:59 +00:00
Xin LI
0bb263df82 Require users to provide a length information for inet_ntoa_r,
this is common on other platforms.

Reported by:	pointyhat via kris
2007-06-14 07:13:28 +00:00
Yaroslav Tykhiy
a742982378 Update some comments, mostly regarding LOGIN_MECLASS and ~/.login_conf. 2007-06-14 06:42:49 +00:00
Bruce Evans
b5e547df33 Oops, back out previous commit since it was backwards to a wrong branch. 2007-06-14 05:57:13 +00:00
Bruce Evans
d382c5ebb4 MFC: 1.11: fix the threshold for (not) using the simple Taylor approximation. 2007-06-14 05:51:00 +00:00
Christian Brueffer
d143a3d971 Catch up with the code.
Submitted by:	peter
2007-06-13 19:22:29 +00:00
Tim Kientzle
d02e3c38ab Make 'ar' write test a tad more portable. 2007-06-13 03:40:02 +00:00
Tim Kientzle
0ddfde5d16 Read support for the new GNU tar sparse formats added in gtar 1.15 and
gtar 1.16.
2007-06-13 03:35:37 +00:00
Tim Kientzle
147e16377c Add some options to libarchive_test:
-k: like make -k, try to keep going after errors.
   -q: quiet
2007-06-13 03:30:46 +00:00
Tim Kientzle
e09eb83674 Fix a broken function declaration. 2007-06-13 03:29:15 +00:00
Stephane E. Potvin
04031e9ae2 Options spring cleanup:
- Add and document the KVM and KVM_SUPPORT options that
are needed for the ifmcstats(3) makefile
- Garbage collect unused variables
- Add missing inclusion of bsd.own.mk where needed

Approved by: kan (mentor)
Reviewed by: ru
2007-06-13 02:08:04 +00:00
Andrey A. Chernov
418130b101 Fix yet another (make install) stopper with wrong sourcefilter.3 links 2007-06-12 22:32:52 +00:00
Bruce M Simpson
9153727f2f Fix typo in filename from mismerged earlier rev of this file. 2007-06-12 21:05:31 +00:00
Bruce M Simpson
a85a378773 Fix a typo which crept in from an earlier version of this file. 2007-06-12 19:08:38 +00:00
Bruce M Simpson
35c261275e Add missing userland support files from previous commit for the new
multicast source filter API functions.
2007-06-12 18:03:37 +00:00
Bruce M Simpson
71498f308b Import rewrite of IPv4 socket multicast layer to support source-specific
and protocol-independent host mode multicast. The code is written to
accomodate IPv6, IGMPv3 and MLDv2 with only a little additional work.

This change only pertains to FreeBSD's use as a multicast end-station and
does not concern multicast routing; for an IGMPv3/MLDv2 router
implementation, consider the XORP project.

The work is based on Wilbert de Graaf's IGMPv3 code drop for FreeBSD 4.6,
which is available at: http://www.kloosterhof.com/wilbert/igmpv3.html

Summary
 * IPv4 multicast socket processing is now moved out of ip_output.c
   into a new module, in_mcast.c.
 * The in_mcast.c module implements the IPv4 legacy any-source API in
   terms of the protocol-independent source-specific API.
 * Source filters are lazy allocated as the common case does not use them.
   They are part of per inpcb state and are covered by the inpcb lock.
 * struct ip_mreqn is now supported to allow applications to specify
   multicast joins by interface index in the legacy IPv4 any-source API.
 * In UDP, an incoming multicast datagram only requires that the source
   port matches the 4-tuple if the socket was already bound by source port.
   An unbound socket SHOULD be able to receive multicasts sent from an
   ephemeral source port.
 * The UDP socket multicast filter mode defaults to exclusive, that is,
   sources present in the per-socket list will be blocked from delivery.
 * The RFC 3678 userland functions have been added to libc: setsourcefilter,
   getsourcefilter, setipv4sourcefilter, getipv4sourcefilter.
 * Definitions for IGMPv3 are merged but not yet used.
 * struct sockaddr_storage is now referenced from <netinet/in.h>. It
   is therefore defined there if not already declared in the same way
   as for the C99 types.
 * The RFC 1724 hack (specify 0.0.0.0/8 addresses to IP_MULTICAST_IF
   which are then interpreted as interface indexes) is now deprecated.
 * A patch for the Rhyolite.com routed in the FreeBSD base system
   is available in the -net archives. This only affects individuals
   running RIPv1 or RIPv2 via point-to-point and/or unnumbered interfaces.
 * Make IPv6 detach path similar to IPv4's in code flow; functionally same.
 * Bump __FreeBSD_version to 700048; see UPDATING.

This work was financially supported by another FreeBSD committer.

Obtained from:  p4://bms_netdev
Submitted by:   Wilbert de Graaf (original work)
Reviewed by:    rwatson (locking), silence from fenner,
		net@ (but with encouragement)
2007-06-12 16:24:56 +00:00
Randall Stewart
2c356be294 - Validate incoming addresses and sizes for connectx and bindx.
- For non-sys call version pass the msg_flags.
2007-06-11 21:05:29 +00:00
Bruce Evans
a8a2e00ebf Fix an aliasing bug which was finally detected by gcc-4.2. fdlibm has
hundreds of similar aliasing bugs, but all except this one seem to have
been fixed by Cygnus and/or NetBSD before the modified version of fdlibm
was imported into FreeBSD in 1994.

PR:		standards/113147
Submitted by:	Steve Kargl <sgk@troutmask.apl.washington.edu>
2007-06-11 07:48:52 +00:00
Xin LI
0c927cdd8e Add inet_ntoa_r, a reentrant version of inet_ntoa. This is
available on a lot of platforms, as well as libkern for years.

Submitted by:	"MQ"
2007-06-11 07:21:21 +00:00
Tim Kientzle
8b63161182 Don't lose leading '/' for pathnames exactly 101 bytes long.
Also, update the test harness to exercise this case.
2007-06-11 05:17:30 +00:00
Xin LI
54a648d1e5 Diff reduction against other *BSDs: ANSIfy function
prototypes.  No function changes.
2007-06-11 03:05:54 +00:00
Stefan Farfeleder
47517a7042 Merge NetBSD changes, among them:
el.c 1.44, el.h 1.17, editline.3 1.53, histedit.h 1.31:
# add EL_GETFP, and EL_SETFP.

el.c 1.42, term.c 1.46, term.h 1.18, editline.3 1.52, histedit.h 1.29:
# - Add more readline functions, enough for gdb-6.5
# - Make el_get varyadic, and implement EL_GETTC.
# - XXX: the EL_SETTC api will change in the future.

Note: The latter change breaks the ABI of the el_get() function.

Approved by:	re (kensmith)
2007-06-10 19:06:09 +00:00
Yaroslav Tykhiy
9cd40e64b4 Now pam_nologin(8) will provide an account management function
instead of an authentication function.  There are a design reason
and a practical reason for that.  First, the module belongs in
account management because it checks availability of the account
and does no authentication.  Second, there are existing and potential
PAM consumers that skip PAM authentication for good or for bad.
E.g., sshd(8) just prefers internal routines for public key auth;
OTOH, cron(8) and atrun(8) do implicit authentication when running
a job on behalf of its owner, so their inability to use PAM auth
is fundamental, but they can benefit from PAM account management.

Document this change in the manpage.

Modify /etc/pam.d files accordingly, so that pam_nologin.so is listed
under the "account" function class.

Bump __FreeBSD_version (mostly for ports, as this change should be
invisible to C code outside pam_nologin.)

PR:		bin/112574
Approved by:	des, re
2007-06-10 18:57:20 +00:00
Marcel Moolenaar
0c94ac1cd7 Fix bogon in previous commit: <machine/cpu.h> is still needed. 2007-06-10 16:32:08 +00:00
Marcel Moolenaar
d23391e38d The definition of CACHELINESIZE moved from <machine/cpu.h> to
<machine/md_var.h>.
2007-06-10 03:13:56 +00:00
David Xu
44a31c2d7f Set warning level to 2. 2007-06-08 02:21:13 +00:00
Remko Lodder
eb1db428b7 Document getaddrinfo(3)'s AI_ADDRCONFIG
PR:		docs/78357
Submitted by:	Matthias Andree <matthias dot andree at gmx dot de>
Patch by:	asmodai
MFC after:	1 week
2007-06-06 19:24:02 +00:00
Doug Barton
34a1405271 Remove the special atomic.h case for arm, and allow it to use
the platform specific file that imp provided.
2007-06-05 22:17:16 +00:00
Dag-Erling Smørgrav
0d1b462435 Expose __stack_chk_fail_local() so -fstack-protector-all works. 2007-06-05 08:24:34 +00:00
Hajimu UMEMOTO
a38329b531 Merge BIND 9.4.1 into main chunk.
MFC after:	2 weeks
2007-06-03 18:13:59 +00:00
Hajimu UMEMOTO
dde4a85d9d Merge BIND 9.4.1 into main chunk.
MFC after:	2 weeks
2007-06-03 17:20:27 +00:00
Hajimu UMEMOTO
46cf4f0985 This commit was generated by cvs2svn to compensate for changes in r170242,
which included commits to RCS files with non-trunk default branches.
2007-06-03 17:02:29 +00:00
Hajimu UMEMOTO
861249f583 Vendor import of BIND 9.4.1 2007-06-03 17:02:29 +00:00
Doug Barton
6c49136e5e Fix the amd64 and pc98 versions of ISC_ATOMIC_ARCH with some help
from ru@.

Take a guess at what might work on arm to try and fix the build.
2007-06-03 16:49:57 +00:00
Doug Barton
47f2e4235c Update generated files for BIND 9.4.1 2007-06-02 23:24:14 +00:00
Doug Barton
d6ceb6db22 Update bmake glue for the BIND 9.4.1 import.
This includes a return to building with threads, since one of the
major focuses of the 9.4.x branch is to improve thread performance.
2007-06-02 23:19:58 +00:00
Jeff Roberson
8ef6b1429f - Work-around the already partially broken rusage support in kvm by
completely disabling it until a full solution is agreed upon.

Pointy hat to:	me
2007-06-01 04:14:57 +00:00
Daniel Eischen
2a43680e9f Export quad symbols. They were previously commented out. These symbols
really shouldn't be exported since they should be pulled from libgcc, but
the build of some applications is broken and they expect to see them in
libc.  glibc exports these symbols, although Solaris doesn't appear to,
so export them for compatibility's sake.

After discussion with:	kan
2007-05-31 13:07:37 +00:00
Daniel Eischen
2665faf497 Some libc symbol map cleanups.
net: endhostdnsent is named _endhostdnsent and is
  private to netdb family of functions.

  posix1e: acl_size.c has been never compiled in,
  so there's no "acl_size".

  rpc: "getnetid" is a static function.

  stdtime: "gtime" is #ifdef'ed out in the source.

  some symbols are specific only to some architectures,
  e.g., ___tls_get_addr is only defined on i386.

  __htonl, __htons, __ntohl and __ntohs are no longer
  functions, they are now (internal) defines in
  <machine/endian.h>.

Submitted by:	ru
2007-05-31 13:01:34 +00:00
Bruce Evans
20a990117d Merge the relevant part of rev.1.14 of s_cbrt.c (a micro-optimization
involving moving the check for x == 0).  The savings in cycles are
smaller for cbrtf() than for cbrt(), and positive in all measured cases
with gcc-3.4.4, but still very machine/compiler-dependent.
2007-05-29 07:13:07 +00:00
Tim Kientzle
b48b40f1f8 libarchive 2.2.3
* "compression_program" support uses an external program
  * Portability: no longer uses "struct stat" as a primary
    data interchange structure internally
  * Part of the above: refactor archive_entry to separate
    out copy_stat() and stat() functions
  * More complete tests for archive_entry
  * Finish archive_entry_clone()
  * Isolate major()/minor()/makedev() in archive_entry; remove
    these from everywhere else.
  * Bug fix: properly handle decompression look-ahead at end-of-data
  * Bug fixes to 'ar' support
  * Fix memory leak in ZIP reader
  * Portability: better timegm() emulation in iso9660 reader
  * New write_disk flags to suppress auto dir creation and not
    overwrite newer files (for future cpio front-end)
  * Simplify trailing-'/' fixup when writing tar and pax
  * Test enhancements:  fix various compiler warnings, improve
    portability, add lots of new tests.
  * Documentation: document new functions, first draft of
    libarchive_internals.3

MFC after: 14 days
Thanks to: Joerg Sonnenberger (compression_program)
Thanks to: Kai Wang (ar)
Thanks to: Colin Percival (many small fixes)
Thanks to: Many others who sent me various patches and problem reports.
2007-05-29 01:00:21 +00:00
Robert Watson
8f35913609 Correct spelling errors in comments. 2007-05-28 11:36:43 +00:00
Robert Watson
7a2f86ce08 Precede symbol names consistently with tabs rather than spaces. 2007-05-28 11:33:44 +00:00
Xin LI
ec5430045b Include string.h for memcpy() and memcmp(). 2007-05-25 13:43:14 +00:00
Xin LI
eb2b3d109a Const'ify and ANSIfy the internal interfaces of regex(3).
This is the final change that makes libc to compile with
WERROR on my amd64 crashbox.
2007-05-25 12:44:58 +00:00
Xin LI
cb4e06eba8 ANSIfy function definitions, reduces diff against OpenBSD. 2007-05-25 10:40:33 +00:00
Ruslan Ermilov
7172f8c4db Also fix the misspelling of hes_resolve().
Submitted by:	Danny Braniss
2007-05-25 09:58:25 +00:00
Xin LI
f22d3eb469 The usage of "info" in init_hash() is read-only, so constify
the internal interface instead of casting away the constant
constraint upon calling.
2007-05-25 09:57:48 +00:00
Dag-Erling Smørgrav
ca2ddac328 Re-add support for NIS netgroups (heavily modified from patch in PR)
PR:		bin/112955
Submitted by:	A. Blake Cooper <blake@cluebie.net>
MFC after:	3 weeks
2007-05-25 07:50:18 +00:00
Rong-En Fan
4409495bc8 - When I introduce wide character enabled ncurses into base, all headers
are installed twice (once in non-widec version, onec in widec version).
  Headers with widec enabled are compatible with non-widec version
  for libraries. However, if you do a repeat build/install, the curses.h
  is always overwritten. The reason is that headers and statics libraries
  are installed with -S option to preserve their mtime if no actual changes,
  which saves time when doing incremental builds. The curses.h is installed
  by non-widec ncurses first, then by widec ncurses. So next time, it happens
  again. You see something like this:

  # pwd
  /usr/src/lib/ncurses
  # make -s installincludes INSTALL="install -v"
  ===> ncurses (installincludes)
  install: curses.h -> /usr/include/curses.h
  ===> ncursesw (installincludes)
  install: curses.h -> /usr/include/curses.h
  # make -s installincludes INSTALL="install -v"
  ===> ncurses (installincludes)
  install: curses.h -> /usr/include/curses.h
  ===> ncursesw (installincludes)
  install: curses.h -> /usr/include/curses.h

  The solution is to disable installing headers in non-widec version. Now
  you see this:

  # pwd
  /usr/src/lib/ncurses
  # make -s installincludes INSTALL="install -v"
  ===> ncurses (installincludes)
  ===> ncursesw (installincludes)
  # make -s installincludes INSTALL="install -v"
  ===> ncurses (installincludes)
  ===> ncursesw (installincludes)

  For form/panel/menu libraries, the headers are the same for both version.
  To be consistent with ncurses, I also disable the installation in non-widec
  version.

Reported by:	des
Reviewed by:	ru
Thanks to:	ru
Approved by:	delphij (mentor)
MFC after:	2 weeks
2007-05-25 02:27:46 +00:00
David E. O'Brien
79f6e0e6b4 FreeBSD has <limits.h>. 2007-05-24 22:10:22 +00:00
David E. O'Brien
8cbe72bdb7 Update for the 'file' 4.21 import. 2007-05-24 22:02:49 +00:00
Dag-Erling Smørgrav
887ecc8d53 Enable FTP_COMBINE_CWDS. 2007-05-24 20:28:14 +00:00
David E. O'Brien
a90b38c0b1 Update for the 'file' 4.19 import. 2007-05-24 16:14:38 +00:00
Ruslan Ermilov
6f9900d9f6 hesiod_resolv -> hesiod_resolve
Submitted by:	Danny Braniss
2007-05-24 13:50:06 +00:00
Dag-Erling Smørgrav
4b5b992bba Nit: avoid shadowing truncate(2) with a local variable. 2007-05-23 12:09:33 +00:00
Dag-Erling Smørgrav
400f772943 Fix stupid braino in previous commit. 2007-05-23 10:06:03 +00:00
Dag-Erling Smørgrav
d75d56060e If (flags & O_TRUNC), don't truncate the file until we've successfully
locked it.

MFC after:	3 weeks
2007-05-23 08:12:34 +00:00
Colin Percival
a30eadfc15 Replace "sizeof(struct bucket[cache_size])" with
"cache_size * sizeof(struct bucket)".  The former is valid in C99 but can
confuse earlier compilers, while the latter is a standard idiom which all
C compilers understand.

Approved by:	kientzle
2007-05-22 15:37:58 +00:00
Jonathan Chen
959496efbf Backout 1.5 as requested by deischen 2007-05-22 05:28:40 +00:00
Jonathan Chen
81d8304713 __cleanup() is needed for ports/devel/valgrind, export it. 2007-05-22 03:03:28 +00:00
Robert Watson
448036945e Make pointer argument to kread_string() const since the kernel structure
field is const, and then employ __DECONST before getting into the kvm
code.  This eliminates a gcc 4.2 warning about losing constification.

__DECONST advice from:	sam
2007-05-21 18:16:04 +00:00
Colin Percival
3662c7b8ad Don't test for NULL when it is both unnecessary (the pointer is checked
against NULL when it is first allocated) and pointless (we've already
dereferenced the pointer several times).

Found by:	Coverity Prevent(tm)
CID:		3204
2007-05-21 04:45:24 +00:00
Colin Percival
51bbfbd15c Remove pointless code: Don't assign a value to a variable when we're
going to overwrite it with a new value a few lines later.

Visual inspection of the surrounding code indicates that the code does
what it's supposed to do; i.e., the pointless code wasn't supposed to
be doing something other than what it was doing.

CID:		3323
Found by:	Coverity Prevent(tm)
2007-05-21 04:22:38 +00:00
Daniel Eischen
419ecd5dee Bump library versions in preparation for 7.0.
Ok'd by:	kan
2007-05-21 02:49:08 +00:00
Alexander Kabaev
0212104ba9 Use LDADD to add -lgcc to the end of linker command line. Using LDFLAGS
puts it before library's object files, making the whole constuct useless.
2007-05-19 16:38:39 +00:00
Olivier Houchard
705fda849d Use __mcount() instead of _mcount() to reduce diffs with NetBSD. 2007-05-19 16:20:37 +00:00
Marcel Moolenaar
aea0bb5c9b Add a level of indirection to the kernel PTE table. The old
scheme allowed for 1024 PTE pages, each containing 256 PTEs.
This yielded 2GB of KVA. This is not enough to boot a kernel
on a 16GB box and in general too low for a 64-bit machine.
By adding a level of indirection we now have 1024 2nd-level
directory pages, each capable of supporting 2GB of KVA. This
brings the grand total to 2TB of KVA.
2007-05-19 13:11:27 +00:00
Colin Percival
a7e2f06359 Don't forget to free a string allocated by strdup where necessary.
Found by:	Coverity Prevent
Coverity ID:	CID 3132
2007-05-19 05:09:09 +00:00
Alexander Kabaev
d5a857fbbb Make sure libc is installed before all other shared libraries. Other
libraries might depend on versioned symbols from libc.
2007-05-19 04:55:14 +00:00
Alexander Kabaev
5c0e10ecce Use built-in _end symbol insteadof 'end' for consistency with other
architectures. Linker defines end is synonym for _end.
2007-05-19 04:36:34 +00:00
Alexander Kabaev
94942af266 Do not declare float_detect_tininess as external if it will be re-delared
as static later.
2007-05-19 04:34:42 +00:00
Alexander Kabaev
e20b165899 Make sure GCC will not try to link libc with itself. 2007-05-19 04:32:56 +00:00
Alexander Kabaev
91c1e2bf9b Follow NetBSD, OpenBSD and DragonfyBSD project and add BSD-licensed
SSP functions into FreeBSD libc. Use the same file name and location
for consistency with other projects.
2007-05-19 04:31:43 +00:00
Jonathan Chen
bb5bff06a7 Move nss_compat symbols from r1.11 to private section of symbol map.
Suggested by: deischen
2007-05-18 15:41:54 +00:00
Ruslan Ermilov
539e7a7770 Fix a logic bug I re-introduced in my patch I sent to Daniel
that would cause the selected shared threading library to be
overwritten with its 32-bit version on amd64.

PR:		amd64/112509
2007-05-18 12:25:48 +00:00
Jonathan Chen
6a536ad948 __nss_compat_* from net/nss_compat.c are needed by ports/net/nss_ldap, so export them. 2007-05-18 05:45:28 +00:00
Daniel Eischen
683f4c0a40 Allow DEFAULT_THREAD_LIB to be set from /etc/src.conf.
Submitted by:	ru
2007-05-17 04:54:35 +00:00
Jonathan Chen
4ea8677105 endrpcent belongs with rpc name service db, not services.
MFC after:	1 week
2007-05-17 03:34:33 +00:00
Jonathan Chen
7a800a56f7 fix memory leak from reading nsswitch.conf
MFC after:	1 week
2007-05-17 03:33:23 +00:00
Randall Stewart
002b1f0bba -Fix so getoptinfo() is in conformance with socket api (it
can be used on any read socketopt).
-Clean up of sendmsg call and make it conformant when no syscall
 is available.
2007-05-16 20:23:39 +00:00
Randall Stewart
ad9f3b406a Resolves symbols map so sctp_xxx() functions are included.
PR:		112704
Submitted by:	kou@cozmixng.org
2007-05-16 20:20:54 +00:00
Alexander Kabaev
f0cd539d5e Do not export 'end' symbol. It is not meant to be visible to outside
world and it wreak havoc if libc collides with other versioned
libraries.
2007-05-16 02:32:55 +00:00
Alexander Motin
82a35b739a Replace select() by poll() to avoid problems with big
descriptor number.

Approved by:	glebius (mentor)
2007-05-14 14:18:41 +00:00
Pav Lucistnik
79df5e05ee Document RFTHREAD
PR:		docs/78915
Submitted by:	Marc Olzheim <marcolz@stack.nl>
MFC after:	1 week
2007-05-14 13:58:54 +00:00
Daniel Eischen
8bf6519214 I guess powerpc needs vfork(), add it to the symbol list.
Submitted by:	marius
2007-05-14 07:46:29 +00:00
Colin Percival
23f6784297 Use unsigned comparisons. Prior to this commit, SHA1_Update and
RIPEMD160_Update were broken when all of the following conditions
applied:
(1) The platform is i386.
(2) The program calling *_Update is statically linked to libmd.
(3) The buffer provided to *_Update is aligned modulo 4 bytes.
(4) The buffer extends beyond 2GB.

Due to the design of this code, SHA1_Update and RIPEMD160_Update will
still be broken if conditions (1)-(3) apply AND the buffer extends
beyond 4GB (i.e., there is an integer overflow in computing "data + len").
Since this remaining bug simply replaces SIGSEGV with a bogus hash (and
non-broken programs should never provide such operands) I don't consider
it to be a serious problem.

MFC After:      1 week
PR:             kern/102795
2007-05-14 05:00:37 +00:00
Robert Watson
caa399aa66 Add ether_aton_r and ether_ntoa_r to public symbol map for libc.
Pointed out by:	deischen
2007-05-13 15:01:25 +00:00
Daniel Eischen
0c58e013aa Remove .mcount from gmon's Symbol map and add it to the appropriate
arch.  It can be named differently depending on the arch (.mcount,
_mcount).

Submitted by:	marius
2007-05-13 14:16:55 +00:00
Daniel Eischen
00fb440c1a Enable symbol versioning by default. Use WITHOUT_SYMVER to disable it.
Warning, after symbol versioning is enabled, going back is not easy
(use WITHOUT_SYMVER at your own risk).

Change the default thread library to libthr.

There most likely still needs to be a version bump for at least the
thread libraries.  If necessary, this will happen later.
2007-05-13 14:12:40 +00:00
Robert Watson
62ad77f006 Add and document ether_ntoa_r() and ether_aton_r() functions, which accept
passed storage buffers rather than using static storage.  Reimplement
ether_ntoa() and ether_aton() in terms of these functions.  These variants
are thread-safe.
2007-05-13 13:57:45 +00:00
Robert Watson
b06619453f Move to more conformant style(9) before making functional changes. 2007-05-13 12:04:06 +00:00
Marius Strobl
ac474f9545 - Add bits for userland profiling. For sun4u this is compile-tested only.
- Replace magic 14 with PIL_TICK.
2007-05-11 23:43:55 +00:00
Dag-Erling Smørgrav
b31d5b56ec strlcpy() may be faster than snprintf(), but it is less portable, and this
is not performance critical code anyway.  Also, avoid using strlen() to
obtain information which we already have.

MFC after:	3 weeks
2007-05-11 11:10:05 +00:00
Dag-Erling Smørgrav
4d09ed1e67 Fix typo.
Submitted by:	Bård Skaflestad <bardsk@math.ntnu.no>
2007-05-10 18:15:30 +00:00
Dag-Erling Smørgrav
8f9085389f Well gag me with a spoon... I'm so used to working at high WARNS levels
that I make stupid fundamental mistakes like this when I don't.
2007-05-10 15:01:42 +00:00
Dag-Erling Smørgrav
b252bedcc9 Remove superfluous unexpanded RCS tag. 2007-05-10 14:56:07 +00:00
Dag-Erling Smørgrav
3884dc6768 Use flopen(3).
MFC after:	3 weeks
2007-05-10 14:54:53 +00:00
Dag-Erling Smørgrav
3dea593400 DTRT when O_NONBLOCK is specified.
MFC after:	3 weeks
2007-05-10 14:52:57 +00:00
Dag-Erling Smørgrav
9667055264 I'm tired of seeing this done incorrectly and non-portably, so add a
flopen(3) function which reliably opens and locks a file.

MFC after:	3 weeks
2007-05-10 14:43:31 +00:00
George V. Neville-Neil
559d3390d0 Integrate the Camellia Block Cipher. For more information see RFC 4132
and its bibliography.

Submitted by:   Tomoyuki Okazaki <okazaki at kick dot gr dot jp>
MFC after:      1 month
2007-05-09 19:37:02 +00:00
David Xu
00784f8b10 backout experimental adaptive spinning mutex for product use. 2007-05-09 08:39:33 +00:00
Dag-Erling Smørgrav
cd84225739 Handle temporary redirects (HTTP status code 307)
PR:		kern/112515
Submitted by:	Ryan C. Gordon <icculus@icculus.org>
MFC after:	3 weeks
2007-05-08 19:28:03 +00:00
David Schultz
970a466c40 We should never zero-pad INF or NaN (yielding silly strings like "00inf")
even if the programmer asks for zero padding.
2007-05-08 03:08:28 +00:00
David Schultz
7f7c29db5e Fix a rounding error.
Reported by: Bruno Haible
2007-05-08 02:59:37 +00:00
Dag-Erling Smørgrav
5f145b19fc Remove parameter names from prototypes to avoid namespace issues. 2007-05-06 10:00:27 +00:00
Pawel Jakub Dawidek
fbda685d38 Implement and document some utility functions that can be used to communicate
with GEOM providers.

OK'ed by:	phk
2007-05-06 01:17:46 +00:00
Gabor Kovesdan
b9d8f1d9c7 - Fix typo
Approved by:	keramida (mentor)
MFC after:	3 days
2007-05-04 16:01:07 +00:00
Bruce Evans
9698b3b564 Don't assume that int is signed 32-bits in one place. Keep assuming
that ints have >= 31 value bits elsewhere.  s/int/int32_t/ seems to
have been done too globally for all other files in msun/src before
msun/ was imported into FreeBSD.

Minor fixes in comments.

e_lgamma_r.c:
Describe special cases in more detail:
- exception for lgamma(0) and lgamma(neg.integer)
- lgamma(-Inf) = Inf.  This is wrong but is required by C99 Annex F.  I
  hope to change this.
2007-05-02 16:54:22 +00:00
Bruce Evans
e95cc9b700 Fix tgamma() on some special args:
(1) tgamma(-Inf) returned +Inf and failed to raise any exception, but
    should always have raised an exception, and should behave like
    tgamma(negative integer).
(2) tgamma(negative integer) returned +Inf and raised divide-by-zero,
    but should return NaN and raise "invalid" on any IEEEish system.
(3) About half of the 2**52 negative intgers between -2**53 and -2**52
    were misclassified as non-integers by using floor(x + 0.5) to round
    to nearest, so tgamma(x) was wrong (+-0 instead of +Inf and now NaN)
    on these args.  The floor() expression is hard to use since rounding
    of (x + 0.5) may give x or x + 1, depending on |x| and the current
    rounding mode.  The fixed version uses ceil(x) to classify x before
    operating on x and ends up being more efficient since ceil(x) is
    needed anyway.
(4) On at least the problematic args in (3), tgamma() raised a spurious
    inexact.
(5) tgamma(large positive) raised divide-by-zero but should raise overflow.
(6) tgamma(+Inf) raised divide-by-zero but should not raise any exception.
(7) Raise inexact for tiny |x| in a way that has some chance of not being
    optimized away.

The fix for (5) and (6), and probably for (2), also prevents -O optimizing
away the exception.

PR:		112180 (2)
Standards:	Annex F in C99 (IEC 60559 binding) requires (1), (2) and (6).
2007-05-02 15:24:49 +00:00
Bruce Evans
dd936b27fc Document (in a comment) the current (slightly broken) handling of special
values in more detail, and change the style of this comment to be closer
to fdlibm and C99:
- tgamma(-Inf) was undocumented and is wrong (+Inf, should be NaN)
- tgamma(negative integer) is as intended (+Inf) but not best for IEEE-754
  (NaN)
- tgamma(-0) was documented as being wrong (+Inf) but was correct (-Inf)
- documentation of setting of exceptions (overflow, etc.) was more
  complete here than in most of libm, but was further from matching
  the actual setting than in most of libm, due to various bugs here
  (primarily, always evaluating +Inf one/zero and getting unwanted
  divide-by-zero exceptions from this).  Now the actual behaviour with
  gcc -O0 is documented.  Optimization still breaks setting of exceptions
  all over libm, so nothing can depend on this working.
- tgamma(NaN)'s exception was documented as being wrong (invalid) but was
  correct (no exception with IEEEish NaNs).

Finish (?) rev.1.5.  gamma was not renamed to tgamma in one place.

Finish (?) rev.1.6.  errno.h was not completely removed.
2007-05-02 13:49:28 +00:00
Colin Percival
9fbf190fc5 s/@VERSION@/@ARCHIVE_VERSION@/
This is a no-op as far as FreeBSD is concerned, but makes libarchive
more autoconf-friendly.

Approved by:	kientzle
2007-05-02 05:29:55 +00:00
Yaroslav Tykhiy
f855462a24 Fix one kind of style(9) bug and a typo in a comment.
Tested with:	md5(1)
2007-05-01 18:50:33 +00:00
Marcel Moolenaar
85999a0155 Roughly implement libpthread support. 2007-05-01 18:28:08 +00:00
Andrey A. Chernov
ba174a5e38 Back out all POSIXified *env() changes.
Not because I admit they are technically wrong and not because of bug
reports (I receive nothing). But because I surprisingly meets so
strong opposition and resistance so lost any desire to continue that.

Anyone who interested in POSIX can dig out what changes and how
through cvs diffs.
2007-05-01 16:02:44 +00:00
Wojciech A. Koszek
0eedd05b19 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
Andrey A. Chernov
fad6917924 Bump .Dd
Suggested by: Henrik Brix Andersen <henrik@brixandersen.dk>
2007-04-30 19:37:10 +00:00
Andrey A. Chernov
a7b27253d0 Add phrase
"so altering the argument shall change the environment."
into putenv description.
2007-04-30 18:01:51 +00:00
Andrey A. Chernov
15fdb055e5 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
Andrey A. Chernov
00f8652278 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
Andrey A. Chernov
bdda893471 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
Pawel Jakub Dawidek
a5fbf7ac1f Add missing links and sort. 2007-04-29 21:38:25 +00:00
Daniel Eischen
90af05a9bf Don't enable symbol versioning for librt by default just yet. 2007-04-29 17:08:13 +00:00
Alexander Kabaev
15c096778f Make sure FBSDprivate_1.0 is located at the end of the version
inheritance chain.
2007-04-29 16:14:17 +00:00
Daniel Eischen
23daef56b3 Catch up with the renaming of the private version namespace. 2007-04-29 15:27:23 +00:00
Daniel Eischen
5f864214bb Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
Daniel Eischen
8d3b75aa33 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
Daniel Eischen
091c66c6d2 Symbol version librt. 2007-04-29 14:01:45 +00:00
Peter Pentchev
0b329a103d 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
Poul-Henning Kamp
8f30c4da04 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
Robert Watson
3c12909241 Add au_to_zonename.3 alias for au_token.3.
Obtained from:	TrustedBSD Project
2007-04-23 14:46:59 +00:00
Daniel Eischen
96c57267f5 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
Nate Lawson
f5e97105d3 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
Tim Kientzle
f1a870981d Fix a memory leak in the uname/gname lookup cache.
Thanks to: VMiklos
2007-04-20 15:32:13 +00:00
Mike Makonnen
18a6073100 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
Poul-Henning Kamp
9436c1bf4b Grammer correction from: emaste 2007-04-19 14:01:04 +00:00
Poul-Henning Kamp
a0c079b341 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
Ruslan Ermilov
3580dcafae Add a missing backslash and unbreak the build. 2007-04-16 09:54:59 +00:00
Rong-En Fan
c4c63fb401 - 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
Colin Percival
6fc0ea8474 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
Tim Kientzle
2a5449a7ca Properly cleanup the UID/GID lookup data. 2007-04-15 04:43:12 +00:00
Tim Kientzle
1eb296a82c Don't free a NULL pointer. 2007-04-15 04:42:52 +00:00
Tim Kientzle
0c3e4592a6 Clean up a lot of memory leaks in the libarchive test harness. 2007-04-15 04:30:02 +00:00
Tim Kientzle
edddd60899 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
Tim Kientzle
f912fb118f 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
Tim Kientzle
b723fe5b61 Pass through error message if any operation fails, not just the last one. 2007-04-14 22:49:37 +00:00
Tim Kientzle
37320c7575 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
Tim Kientzle
a6487829da Invoke utime(2) properly. (It's only used on platforms
that lack utimes(2).)
2007-04-14 22:20:31 +00:00