problem posted to current-users@netbsd.org. Solution suggested by a
couple of folks on that mailing list, and Art Grabowski who pointed me
at a similar change in OpenBSD.
- handle globbing of patterns that contain unmatched braces. Globbing
a pattern "foo{" in a directory that contains "foo{" now works.
- check for MAXPATHLEN overflows during filename generation (security problem).
- Posix/XOpen fixes to always return GLOB_ABORTED when a directory open fails
or when a file access fails.
- pathc was not initialized to 0 in one case.
Also
- rename err to error, so that it does not conflict with the libc function.
- if _fs_fstab.fs_type is NULL, the line is incorrect, so warn about it
rather than trying to deference a NULL pointer.
fixes [bin/13787] by Dave Burgess.
- clear _fs_fstab before each use (just to be sure)
syslogd after we called openlog(), we don't just to lose until we call
openlog() again. Or get restarted. This is good for long running
processes that use syslog(), like sendmail, postfix, named, etc.
the default case fts(3) uses chdir("..") to ascend the tree. The
sequence of chdir's can be intercepted by a malicious user who
moves a subtree that fts is currently traversing to a higher level,
thus making fts operate outside it's original starting directory.
1. don't use MB_CUR_MAX, but MB_LEN_MAX because MB_CUR_MAX is a variable.
2. return a size_t type.
3. added const cond on do while macros.
4. remove unused variables and code,
The shquote() and shquotev() functions copy strings and transform the
copies by adding shell escape and quoting characters. They are used to
encapsulate arguments to be included in command strings passed to the
system() and popen() functions, so that the arguments will have the cor-
rect values after being evaluated by the shell.
normal operation (/var can get filled up by flodding bogus packets).
sysctl net.inet6.icmp6.nd6_debug will turn on diagnostic messages.
(#define ND6_DEBUG will turn it on by default)
improve stats in ND6 code.
lots of synchronziation with kame (including comments and cometic ones).
used to syslog and also send to stderr).
This behaviour can be changed by setting $LIBC_DIAGASSERT to a
string containing one or more of the following letters:
a abort() after syslog and/or print to stderr
A opposite of a
e print assertion message to stderr
E opposite of e
l log assertion message to syslog
L opposite of l
This allows per-process control of the _DIAGASSERT() behaviour (e.g,
if you want to abort() after the assertion is raised) by modifying the
environment before starting the process.
Note that __DIAGASSERT() is still a no-op unless libc is compiled
with -D_DIAGNOSTIC.
* Implement __assert()/__diagassert() by calling __assert13()/__diagassert13()
with a function of NULL, reducing unnecessary code duplication
the argument, instead of va_list. Might not make a difference on most
ports, depending on toolchain/MD typedefs. Does make a difference on sparc64,
where it wouldn't compile otherwise.
- keep the case consistent between the actual name and what's referenced.
e.g, if it's `foo', don't use '.Nm Foo' at the start of a sentence.
- remove unnecessary `.Nm foo' after the first occurrence (except for
using `.Nm ""' if there's stuff following, or for the 2nd and so on
occurrences in a SYNOPSIS
- use Sx, Ic, Li, Em, Sq, and Xr as appropriate
a user-supplied format string against a fallback format string to ensure
that they will consume arguments of the same type.
libc minor bump for new API entry point.
If an argument of a ctype function is outside "unsigned char"
and if it is not EOF, the behavior is undefined.
The isascii(3) is the sole exception of above and it was used to
be used to check a value was valid for other ctype functions in
ancient systems. On modern systems, the ctype functions take
all values of "unsigned char", and this check is obsolete and
even wrong for non-ASCII systems. However, we leave the isascii()
untouched for now, so as not to change the current behavior.