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.
ISO-8859-1, since the characters are simply being passed on to
groff
. introduce an option to override the silly default to `psroff' as
the post-processor
. document the new option
RPC calls to rpc.yppasswdd, but when using the special superuser-only
AF_UNIX socket access method, the server will properly handle all the
additional fields, including pw_change.)
I would also like to take this opportunity to say that Sprint sucks.
copy.
Dont leave stray INS@xxxx temp files around, especially when installing
something less than 8MB and the destination runs out of space, etc.
It still doesn't clean up the temp files on SEGV or other signals etc.
installing. mmap'ing stuff over a nfs mount took out my machine during
a 'make world' last night while I was asleep. I started out with a list
of fs's to avoid, when I realised that I really didn't know which ones
were safe with mmap, so I went for the ones I knew and implemented a
fallback compare.
"." means the object directory, so it is just confusing to use it
when nothing is included from the object directory unless the object
directory is also the source directory. It is confusing for "."
not to mean the source directory anyway, so used `-I.'s should be
replaced by `-I${.OBJDIR}'.
faster IO due mmap(2) [-m | -s]
better error check for damaged databases
support for databases in network byte order (SunOS/sparc)
optional case insensitve search [-i]
optional multiple databases
optional multiple pattern
new enviroment variable LOCATE_PATH for database(s)
[-S] print some statistic about the database
[-l number] limit output to number file names
[-c] suppress normal output; instead print a count of matching file names
Documented PWD. MACHINE and MAKEOBJDIR are are still undocumented
except in main.c. I will be changing MAKEOBJDIR back to its old
behaviour so that the comment in main.c actually applies.
Removed irrelevant misformatted text about make's name being argv[0].
- timeval in select loop was depending on not having the remaining time
returned from select(), causing a busy spin on an implementation that
does implement it.
- the err() usage was pretty bogus, some of the error messages had
strerror attached manually and then reattached by err().
2. Add a -l flag for symlinking to rather than copying file:/path style URLs.
3. Add a -T flag for setting the timeout interval (overrides FTP_TIMEOUT if set)
hline() to draw the window split rather than fudging it with dashes.
This causes the line to be drawn in line-draw characters if the terminal
description has them.
Suggested by: ache
- use termios, not sgtty
- dont use _putchar(), that was a BSD-curses specific feature not in
other curses packages (such as ncurses)
- use sigaction, not sigvec while I'm there
- box() does different things under sysv/ncurses on 1-line high windows,
and BSD-curses doesn't have hline(), so do it by adding characters
instead. That works on both styles of curses.
Bigram does not remove newline at end of filename. This
break particulary the bigram algorithm and /var/db/locate.database
grow up 15 %.
Bigram does not check for characters outside 32-127.
The bigram output is silly and need ~1/2 CPU time of
database rebuilding.
old:
locate.bigram < $filelist | sort | uniq -c | sort -nr
^^^^^^^^^^^^^^
this can easy made bigram
new:
bigram < $filelist | sort -nr
code
Code does not check for char 31.
Use a lookup array instead a function. 3 x faster.
updatedb
rewritten
sync with bigram changes
read config file /etc/locate.rc if exists
submitted by: guido@gvr.win.tue.nl (Guido van Rooij)
concatdb - concatenate locate databases
mklocatedb - build locate database
installs something. This is not 100% right, since it has a false hit
when install -C snaps hard links.
Also, run strip(1) from the $PATH, otherwise you need a special version
of install to install (say) elf binaries which have a different strip.
With JDP's elfkit, the layout of the path determines which binary format
you are generating.
from a script as if it was done in the interactive editor.
When reassembling the gecos string, trim any excess trailing commas, they
look ugly in the passwd file. :-)
Have a simple Makefile tweak to prevent mortal users from changing their
fullname. As ISP's we have seem some real bizzare stuff here..
When decoding the change/expire string, allow the month number as a
synonym for the name of the month.. (ie: 1 as well as Jan or January)
Note that using numbers means there's a chance that you can get bitten
if you're not used to the American DD-MM-YY order.
possibility of a security hole. It now does what rdist-6 does, and calls
/usr/bin/rsh if not running as root. There are NO protocol changes, this
is 100% compatable with the old rdist, except that it does not need setuid
root privs.
However, there are some minor differences to the base rdist-6 code in that
if it is being run by root, it will call rcmd(3) directly rather than
piping everything through rsh(1). This is a little more efficient as it
doesn't involve context switching on pipe reads/writes.
Also, the -P option was added from rdist-6.1.2, which allows an alternative
rsh program to be specified, such as ssh. Note that it requires the fixes
to the ssh port to disable the unconditional USE_PIPES option that was
recently added. The rcmd(3) optimisation is disabled if a non-rsh program
is speficied.
for bootstrap" tweak to the lex Makefile to stop it building the library
too early.
This untangles things a bit more, it stops new bootstraps failing because
libl/libfl uses 'ld -O' before ld is updated.