- Use MAP_FAILED instead of the constant -1 to indicate
failure (required by POSIX).
- Removed flag arguments of '0' (required by POSIX).
- Fixed code which expected an error return of 0.
- Fixed code which thought any address with the high bit set
was an error.
- Check for failure where no checks were present.
Discussed with: bde
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.
date: 1994/10/09 07:37:18; author: davidg; state: Exp; lines: +7 -1
#if 0'd out the meat of the swap code until I get a chance to rewrite it.
...mainly by stealing the code from pstat(8).
calendar -t 0101 -f file
Previously calendar's time processing routine directly
modified the "0101" argument" which confused getopt.
The time routines now make a copy of the argument
to mess with.
Note that LOGIN_CAP_AUTH code (login authentication) is not (yet) enabled
and requires /usr/libexec/login_<style> authentication program support to
be added at a later date. The Makefile contains a macro LC_AUTH to turn
it on and prevent unnecessarily linking against skey/krb libs and the
addition of klogin.c module.
All other aspects of login_cap support are fully functional.
return EX_TEMPFAIL if the file was already locked. This makes it easier
to distinguish between lock collisions and failures within the command
being executed.
Also, don't complain if the unlink() fails in the cleanup handler. It
doesn't matter anyway, and it obscured the exit status returned from
the command that was executed.
Tor Egge reports counter wrap and requests and update to quad_t sized
counters, which is also a good thing to do, but I'm unhappy about adding
two more instructions into the code path every time we doink a counter.
Maybe with or after the Lite2 merge...
Submitted by: Tor Egge <Tor.Egge@idt.ntnu.no>
Add some buffer overrun fixes from OpenBSD and myself.
Add skey calculator kludge from OpenBSD.
TODO: do a real merge of dab's sources... probably just make telnet and
telnetd contrib software.
Obtained from: OpenBSD, dab@bsdi.com
don't just hard code them into the Makefile.
(This is the optional stuff to use perl scripts as a vi scripting language.
eg, to load a sample script, type: :perl do 'wc.pl';
this loads /usr/share/vi/perl/wc.pl to add the "wc" command. Then, one can
do this: :perl wc Yes, this is a trivial example. There are more
useful examples, eg 'make' output parsing along the lines of emacs's
"compile" mode. The tcl extension is similar and enabled by default since
we ship with tcl.)
in a different location. (Sigh, the initial import gratuitously
changed the directory structure here, rendering the vendor branch a
little useless.)
Note: the French message catalog needs updating. By now, i've simply
appended the English messages. NB: French message # 123 has been
wrong, please correct whoever is going to deal with this.
(which doesn't use the setting at all), but when linking with
recent versions of libncurses, ncurses screws up without it for some reason
(presumably a ncurses bug).
Turn off error messages from locate(1), we can't do very much about
its database not being ok anyway at this time.
Closes PR # bin/2183: whereis returns environ...
terminated properly. Fix is from the PR and works for the test cases I
threw at it. Should be safe and desirable for back porting to 2.2 or
earlier if there are people still comitting to -stable.
Submitted by: Marc Slemko <marcs@znep.com>
Closes PR: 1864
file (like /etc/termcap). /usr/src/etc/Makefile depends on there
being an etc-magic install rule here, and who-knows-what depends on
`magic' being in /etc.
Fixed some style bugs - don't use -c for installing files in the obj
directory...
language text files.
Should finally close PR # bin/1925: file does not consider cyrillic
text..., though i've never got any response from the originator about
my suggestion.
While i was at it, also move out the `magic' file to /usr/share/misc,
there's nothing that magic with this file to justify its life under
/etc.
do it themselves. (Some of these programs actually depended on this
beyond compiling the definition of struct ifinfo!) Also fix up some
other #include messes while we're at it.
an auto stack variable that was about to disappear. It broke with some
nis passwd changes because of a gethostbyname() call that uses a fair bit
of stack.. This was a timebomb waiting to go off at any time and could
have been causing subtle corruption for a while.
AARGH!!
This is HIGHLY reccomended for 2.2 and presumably 2.1.6
heck. Watch through our hidden camera, ladies and gentlemen,
as this one-line addition to the syslog output generates hundreds
of thousands of lines of email in response, all from people
decrying the evils of electronic noise pollution! :-)
What this change does, simply speaking, is syslog it every time
someone changes their local password. I need this at a local ISP to
tell whether people are reacting to expires in a timely fashion or
not. To disable it, uncomment -DLOGGING in the Makefile.
If your users change their passwords so often as to fill your logfile,
then you may also have another administrative problem to deal with.
Do not exit with status 0 if mkdep(1) cannot create output,
e.g. if .depend is not writable or the FS is readonly mounted.
Store arguments as comments for debugging purpose.
after I installed the last SNAP :). Because of the way the 'use NIS
or local?' logic is set up here, it was possible to force the use
of the NIS password changer even though the specified user didn't exist
in NIS (i.e. # passwd foo, where foo is a local-only user). In this
case, we fall intp yp_passwd() without the corresponding yp_password
structure being filled in, which leads to an NULL pointer dereference.
Also fixed the logic like I just did with chpass so that if the user
is both in NIS and the local password database, the program makes a
more sensible guess as to which one to use (if NIS is turned on in
/etc/master.passwd, then use NIS, else default to local).
enabled in /etc/master.passwd & friends. This allows the 'USER_YP_AND_LOCAL'
case to make a more sensible guess (if NIS is enabled, default to NIS,
otherwise default to local -- this is better than defaulting to NIS
all the time).
Machine come and go...
Little patch removes lists down for over 4 days from the list.
(If you haven't noticed they are down in that period, you should
turn them off!)
Closes: PR#bin/1361
Submitted by: xaa@stack.urc.tue.nl
For definitions without an "nc" entry, some parts have now been
mis-detected as `non-comment'. Avoid this by not converting the
noregexp in case the "nc" capability has not been found. I begin to
wonder why things like missing "ab"/"ae"'s do work at all...
Detected by: nate
When you ask pr to use form feeds at the end of pages and specify a page
length and tell pr to not put the fancy headers and footers on each
pages, then pr will not separate the pages with a form feed.
Closes PR: bin/1237
Submitted by: Warner Losh <imp@village.org>
which is what syslogd presumably uses too. Notice that the "protocol"
is bogus in not defining the timezone. "protocol" because it hardly
deserves the name :-)
closes bin/1739
Reported by: Stefan Zehl <sec@wg.camelot.de>
types being on the same line as the function name, this finally closes
PR # bin/1785. Also allow :: and ~ as part of the function name, for
C++.
Still, C++ operator overloading will not be recognized as a valid
function name. Fixing this would require a major overhaul of the \p
recognition parser.
. correct a typo in regexp.c,
. implement a new "nc" (non-comment) feature to describe exceptions from
the comment detection; there were problems in Perl with the $# operator
that could not be solved by any other means,
. prevent blocklevel from becoming negative (due to earlier misdetected
sequences), this is probably a workaround for the problem described
in PR # bin/1785,
. update the Perl description to use the "nc" feature,
. update the man page for the "nc" and the undocumented "ab"/"ae"
features.
for the GPROF4 case. This allows a simpler method to be used for
non-statistical profiling (it allows overhead adjustments to be
subtracted from one counter without harm if that counter goes
negative; otherwise the adjustment would have to be distributed).
32 bit counters were already too small for GPROF4 with a 200MHz
clock. int64_t counters should be used.
Man page to come...
For now use: <brandelf -t Linux linuxbin> to brand, and just
<brandelf> to verify branding on a ELF file. FreeBSD native is
set with <brandelf -t FreeBSD freebsdbin>.
Old locate(1) programs still works with the new database format, print
some garbage for 8 bit characters, but don't core (maybe except char 30).
7-Bit Puritan should not notice any difference. Same speed,
Same database size if the database contain only ASCII characters.
Reviewed by: ache
parse.c(1.9) was:
revision 1.9
date: 1996/09/12 03:03:25; author: bde; state: Exp; lines: +7 -6
Fixed handling of `!=' assignment. Don't warn if the shell's output is
null, but warn if there was an error reading it.
Suggested by: Bruce Evans <bde@zeta.org.au>
- Add the .PHONY, .PARALLEL, and .WAIT directives
- Added the -B and -m commandline flags
- misc. man page cleanups
- numerous job-related enhancements
- removed unused header file (bit.h)
- add util.c for functions not found in other envs.
- and a few coordinated whitespace changes
Special thanks to Christos Zoulas <christos@netbsd.org>
for help in the merge. A 'diff -ur' between Net and
FreeBSD now only contains sccsid-related diffs. :)
Obtained from: NetBSD, christos@netbsd.org, and me
not officially documented and are subject to change.
-hdr and -ftr
Specify files to insert at the top and bottom of every
page. This is similar in result to the existing -ssi
option but everything happens at build time. If the
string @@UPDATED@@ appears in either file it will be
replaced with "Updated" followed by the current date.
-white
Make the pages black text on white background.
goes to a fair degree of trouble to enable something like this to
be safe: cd /tmp && find . -mtime +7 -delete
It removes both files and directories. It does not attempt to remove
immutable files (an earlier version I showed to a few people did a chflags
and tried to blow away even immutable files. Too risky..)
It is thought to be safe because it forces the fts(3) driven descent to
only do "minimal risk" stuff. specifically, -follow is disabled, it does
checking to see that it chdir'ed to the directory it thought it was
going to, it will *not* pass a pathname with a '/' character in it to
unlink(), so it should be totally immune to symlink tree races. If it runs
into something "fishy", it bails out rather than blunder ahead.. It's better
to do that if somebody is trying to compromise security rather than risk
giving them an opportunity. Since the unlink()/rmdir() is being called
from within the current working directory during the tree descent, there
are no fork/exec overheads or races.
As a side effect of this paranoia, you cannot do a
"find /somewhere/dir -delete", as the last argument to rmdir() is
"/somewhere/dir", and the checking won't allow it. Besides, one would use
rm -rf for that case anyway. :-)
Reviewed by: pst (some time ago, but I've removed the immutable file
deletion code that he complained about since he last saw it)
known to printf(3) and then used printf() to format it... The only
problem what the #define printf out1fmt. The code was behaving differently
when run as a shell builtin since out1fmt() isn't printf(3).
Simple hack. Print to a buffer and fputs (also #defined for sh) the
result. This should fix the printf builtin problem in PR#1673, rather
than leaving the call commented out. (printf.o was being statically linked
in anyway, we might as well use it)
creating a symbolic link from foo.html (from <label name="foo">) to
the numbered file, a shell script is built that can be used to make
the links at a later time (read: after installation in the target
directory).
having the same effect, and install a link for this. There is
historic precedence for the command hd(1) (with roughly that output
format) in Xenix, SCO, and a few SysV's that tooks the idea.
Also, added a couple of spaces to the -C format to make the output
better readable.
Ok'ed by: phk
. prototyped and staticized the internal functions while i was here,
. made the thing -Wall clean,
. fixed an error that causes the recipient name to be matched only
for the first characters, as opposed to a full name (wonder why i'm
concerned? Well, one of my login IDs is `j', and i've noticed that
vacation has been sending out replies to all mailing list messages
that had a jkh@ or jmb@ in it :),
. introduced an option -l to list the contents of the database; mucho
useful if you've got (too) many mailing list messages in your inbox
and wanna make sure you don't miss the `important' mails.
not halt on error. Thanks to Wolfram for reminding me. ;)
Also remove a unnecessary test for c == '\n', since the
loop (in ParseSkipLine) will not terminate unless
c == '\n' || c == EOF, and the EOF case is already
explicted handled by a return statement.
- Change the debug flag from -d to -D to avoid conflict with other
install programs.
- Update man page to reflect this
- Update usage string
-d meaning creat directory is specifically not implemented by these changes.
$(.CURDIR}/obj search while retaining compatability of new
prefix with cwd for the current source tree builds.
.TARGETOBJDIR has been removed from make and CANONICALOBJDIR set in
bsd.obj.mk
The builtin object directory searching is defined specifically as:
If MAKEOBJDIRPREFIX is defined, the search order is
${MAKEOBJDIRPREFIX}${.CURDIR}
${.CURDIR}
Else if MAKEOBJDIR is defined, the search order is
${MAKEOBJDIR}
${.CURDIR}
Otherwise, default to the search order
${.CURDIR}/obj.`uname -m`
$(.CURDIR}/obj
/usr/obj${.CURDIR}
${.CURDIR}
Reviewed by: bde
/usr/bin/lock can be used to lock a terminal much like xlock does
for your X-windows session. Problem is, /usr/bin/lock cannot lock
your terminal indefinately. Rather you must specify a timeout
value, after which, your terminal is unlocked and become unsecured.
I have added a ``-n'' no timeout option to /usr/bin/lock
Currently the only way to get this functionality is to use a huge
timeout value and hope it is long enought (in time). This method
also requires you to know the maxium number of minutes you are
allowed to specify.
Submitted by: David E. O'Brien <obrien@Nuxi.cs.ucdavis.edu>
for gcc >= 2.5 and no-ops for gcc >= 2.6. Converted to use __dead2
or __pure2 where it wasn't already done, except in math.h where use
of __pure was mostly wrong.