shutdown). There are still problems with device access and a PR will be
filed.
- Kill checkalias(). Allow multiple vnodes to reference a single device.
- Don't play dangerous tricks with block vnodes to ensure that only one
vnode can describe a block device. Instead, prohibit concurrent opens of
block devices. As a bonus remove the unreliable code that prevents
multiple file system mounts on the same device. It's no longer needed.
- Track opens by vnode and by device. Issue cdev_close() when the last open
goes away, instead of abusing vnode::v_usecount to tell if the device is
open.
instead of one using $CPP and the other using $RPCGENCPP, following suit with
RDIST_RSH, CVS_RSH, etc. and document it.
- make the msdos environment variable take precedence over path search.
Add schedctl(8) - a program to control scheduling of processes and threads.
Notes:
- This is supported only by SCHED_M2;
- Migration of LWP mechanism will be revisited;
Proposed on: <tech-kern>. Reviewed by: <ad>.
items, and the new large groups (for busy caches) have 62 or 63 items.
- Add PR_LARGECACHE flag as a hint that a pool_cache should use large groups.
This should be eventually be tuned at runtime.
- Report group size for vmstat -C.
One Finish and German developer agree that month year is a stupid
order, the French and British guys disagree and the only natural
choice left is to make it understand ISO style.
- Accept "-" for msgfile (STDIN) and catfile (STDOUT)
- Merge msgfile into formatted catfile. The catfile is created if
it does not exist (current behavior). If the catfile exists,
its messages are included in the new catfile. Collisions between
set and message numbers cause the msgfile message text to replace
the existing message text.
(The $delset directive now makes more sense.)
Standards: The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
- Replace corrupt()/nomem() with errx(). The replaced routines
called local error() -> warning() which prints an input file line
number. This probably makes no sense for these conditions (it
is not a syntax error in msgfile). Line numbers are completely
nonsense when dealing with reading a formatted catfile.
- Modify warning() to only print line number when reading from a
message file. Also print the current file being processed.
- Don't issue a warning when processing a line with only a message
number and no trailing space. This is valid and will delete any
existing message with that number from the current set.
- Reset lineno for each msgfile processed.
that they conform to what the corresponding manual pages say. This makes all
the tests I recently introduced for these utilities pass.
pooka thinks this was time well spent ;-)
This adds reachover Makefiles to build and install the atf tools.
Some are public, thus installed in /usr/bin, and others are internal
and therefore installed in /usr/libexec.
- Add a "forward" command as requested by garbled@.
From the manpage:
forward
Takes a list of messages and prompts for an address (or
addresses) to forward each message to. If no message list is
specified, the current message is used. The mail editor is run
for each message allowing the user to enter a message that will
precede the forward message. The message is sent as a multi-
part/mixed MIME encoded message.
- Add the ability to match messages that do (or do not) contain a
header field. E.g., the command "f ! /Subject:" will display the
list of messages that are missing a "Subject" field.
- Teach savemail() to prefix fake headlines so the mbox doesn't get
broken.
- Fixed a couple of "bugs" in the attachment editing routine.
- Fix a memory leak in newgrp(). (Noted by ginsbach@.)
- If the new and old groups are the same, addgrp() does nothing so
exit early. (Noted by ginsbach@.)
- In newgrp(), if the new group isn't found in the in-core, check the
group membership list anyway as the in-core list may be full or
/etc/groups may have been edited since login. (Requested by
ginsbach@.)
- Deal with a full in-core group[] array in addgid() rather than
silently ignoring it and ending up with a group[] array that is
inconsistent with the current group.
- More explicit error handling in addgroup().
- Add a "bounce" command as requested by garbled@.
From the manpage:
bounce Takes a list of messages and prompts for an address to bounce the
messages to. All the original header fields are preserved except
for the ``Delivered-To'', ``X-Original-To'' and ``Status''
fields. The new ``To'' field contains the bounce address(es)
plus any addresses in the old ``To'' field minus the user's local
address and any on the alternates list. (See the alternates com-
mand.)
- Introduce date_to_tm() and hl_date_to_tm() to parse the date and
headline date a bit more efficiently.
- If 'tm_isdst' is determined, let strftime(3) handle the '%Z' and
'%z' formats. Otherwise, output "-0000" and "???", respectively, to
help preserve with alignment; strftime(3) will output an empty
string in these case.
- Change fail() to use the '-d' flag (which sets the 'debug' variable)
rather than the "debug" _environment_ variable. This is more
consistent with other warnings.
- Don't use gcc C extensions, e.g., "case LOW ... HIGH:".
- Define is_WSP() in def.h to be an inline function that for checks
whitespace (WSP = ' ' or '\t'), as defined in RFC 2822. Use it
consistently in place of isblank().
- For consistency, rename skip_blank() to skip_WSP().
- Add inline skip_space() to complement skip_blank() (now skip_WSP).
- Check all ctype(3) calls for argument range issues.
- Whitespace and comment cleanup/changes.