dbopen() to open an NIS map.
Testing with very large maps (e.g. a sample password database with 31,000+
entries) has shown that ypserv will leak memory (ps shows RSS and VSZ
growing to 4000 pages or more) when performing repeated yp_next()s or
a yp_all(). The problem with yp_all() is not immediately obvious since
the ypproc_all service is handled in a child process which exits once
the transfer is finished, but with repeated yp_next()s (like what you
get when you use getpwent() to scroll through the password database),
the parent ypserv grows to enormous size and never shrinks again.
It seems this is related to the HASHINFO parameters I used in yp_dblookup.c,
which I actually stole from pwd_mkdb. Calling dbopen() with the default
parameters (specifying openinfo as NULL) fixes the problem.
I still need to see how this impacts the other NIS tools. I'm also
considering changing from hash to btree databases: the hash database
method doesn't support R_CURSOR, which means yp_next_record() has to
do a lot of ugly work in order to reach an arbitrary location in the
database.
When PPP gets an uncompressed packet, it attempts to save off the TCP/IP
header for use in decompressing subsequant packets. If PPP gets garbage
(such as what happens when there is a port speed mismatch or modem line
noise), it will occasionally mistake the packet as a valid uncompressed
packet. When it tries to save off the header, it doesn't bother to check
for the validity of the header length and will happily clobber not only
the PPP VJC data structure, but parts of other process memory that happens
to follow it...causing, ahem, undesired behavior.
man pages up to mdoc guidelines and fix some minor formatting glitches.
Also fixed a number of man pages to not abuse the .Xr macro to
display functions and path names and a lot of other junk.
their path names in the synopsis line (especially since they
referenced the wrong path!). Corrected some other minor problems
with the rpc.lockd man page.
1. Use new dialog menu hacks (no strings, just arrays of dialogMenuItem structs)
so that I can create composite menus with radio/checkbox/... items in them,
removing some long-standing UI bogons in various menus. This work isn't
finished yet, but will be done in two phases. This is phase one.
2. Remove all the script installation stuff. I never got time to document it,
it was arcane and it just complicated much of the code. There are better
ways of doing this if I want to do auto-driven installations later.
3. Remove much dead code and otherwise attempt to remove as much historical
grot as possible so that this code is easier to hack on. This is also
a two-stage process, phase one of which is now complete.
is when the matched string spans the end of the inbuff. This fix allocates
twice the IBSIZE so that it can keep the last and the current text to search
in the inbuff so that the match won't fail if it gets truncated by the read.
It also warns if the search string is to long and truncates it.
Submitted by: Dough Ambrisco <ambrisco@ambrisco.roble.com>
printjob.c: Use termios instead of sgtty structs and ioctls; remove
support for fs/fc/xs/xc capabilities, and replace them with the ms
capability (stty-like words, instead of octal bit patterns).
modes.c: Modified from stty's file, parses comma-seperated list of
tty modes (e.g., "cs8,-paren,-opost").
Reviewed by: rgrimes, joerg
- Remove unused 'pid' member from the jobs structure. (This was left over
from an earlier incarnation of the program that used multiple processes.)
- Remove #ifdef'ed longjmp() stuff.
- Print warning message if the 'pushing' host is not the master for
a map being pushed but don't bail out. (While yppush should only
be used on an NIS master, using it elsewhere is not an unpardonable sin.)
yppush.8:
- Fix a couple of mind-os.
Makefile
- Change format to hopefully ease bootstrapping. (Suggested by wollman.)
Other Makefiles should follow.
to behave like the older sendmails when talking to a peer that does not
have esmtp or does not advertise 8BITMIME. The old sendmail "just sent it
anyway", while the 8.7.x series mangle any extended character set mail
by conferting it to quoted-printable or base64. Freefall has been
running this for some time.
- Use rpcgen to generate the unmodified boilerplate code rather than
having it in the repository.
- Eliminate the conflicting function names by changing them to their
"natural" rpcgen generated names
easy setup of default quotas for a range of uids. Usage:
edquota -p protouser startuid-enduid
E.g.
edquota -p mpp 10000-19999
Will duplicate the quota limints for user mpp for uids 10000 - 19999.
The uids in question do not have to currently exist in /etc/passwd.
. Replace my NIH-suffering code to detect the number of lines on
the terminal by the curses variable LINES.
. Fix the selection code for countries with more than one screenful
of locations. The very few people living in America/US/Pacific
now won't be charged for Indiana any longer... :)
. Removed the gross code that copied over the timezone file to
/etc/localtime, and create a symlink now instead.
recent libdisk changes. (sysinstall is guilty of using `private' in
quite more places, but since this ain't in library code, it's not that
important.)
Whenever possible, better not use C++ reserved words...