Commit Graph

598 Commits

Author SHA1 Message Date
ache
89bccb0c6f Get rid of strtok(), it is depricated in libs 1995-03-24 17:40:54 +00:00
ache
9524bc7a36 Change strtok() to strsep(), strtok() usage is depricated
in libraries.
1995-03-24 17:27:22 +00:00
ache
1402f0cd95 Change strtok() to strsep(), using strtok() can cause memory corruption
if user program use it too in the same time.
1995-03-24 16:33:44 +00:00
ache
522e5e4d53 Sicnce this code shares the same fragment as gethostnamaddr:
Change strtok() to strsep(), cause memory corruption for all
programs which use strtok() too in the same time.
Fix potential NULL reference, depends of /etc/hosts.conf format
Fix the bug when service name fetched always from beginning of the line,
not from parsed token.
1995-03-24 15:51:30 +00:00
ache
74c984e74d Change strtok() to strsep(), cause memory corruption for all
programs which use strtok() too in the same time.
Fix potential NULL reference, depends of /etc/hosts.conf format
Fix the bug when service name fetched always from beginning of the line,
not from parsed token.
1995-03-24 15:38:54 +00:00
wpaul
5d03aae6f1 Yikes! Fix stupid mistake I made in last commit that made getpwent() ignore
local password entries when YP was enabled. (How the heck did that
get by me!?)
1995-03-24 08:01:01 +00:00
wpaul
946e0fba44 As per Justin T. Gibbs's request, agument the +@netgroup/-@netgroup
remapping mechanism in the following manner: if given an entry +@foo
and there is no netgroup named 'foo,' try searching for a regular
user group called 'foo' and build the cache using the members of
group 'foo' instead. If both a netgroup 'foo' and a user group 'foo'
exist, the 'foo' netgroup takes precedence, since we're primarily
interested in netgroup matching anyway.

This allows access control schemes based on ordinary user groups
(which are also available via NIS) rather than netgroups, since
netgroups on some systems are limited in really brain-damaged ways.
1995-03-24 05:46:47 +00:00
wpaul
7cd88703a8 Don't let yp_match() or yp_next() operate on null or empty keys: asking
ypserv to do a yp_match() with an a null or empty key causes much havok.
(Note that this could be construed as a denial of service attack if used
maliciously.)
1995-03-23 22:23:15 +00:00
wpaul
77a782d587 Don't let setnetgrent() operate on a null or empty group name: it can
tickle a bug in ypserv and make a serious mess of things.
1995-03-23 22:21:16 +00:00
wpaul
ec2490897f Very important sanity checks: today I clobbered all four NIS servers on
my network because setnetgrent() was trying to do a lookup on group "".
It seems that an attempt to do a yp_match() (and possible yp_next())
on a null or empty key causes Sun's ypserv in SunOS 4.1.3 to exit
suddenly (and without warning). Our ypserv behaves badly in this
situation too, thoush it doesn't appear to crash. In any event, getpwent,
getnetgrent and yp_match() and yp_next() are now extra careful not to
accidentally pass on null or empty arguments.

Also made a small change to getpwent.c to allow +::::::::: wildcarding,
which I had disabled previously.
1995-03-23 22:18:00 +00:00
wpaul
0eb3db6023 Lots of fixes/improvements in the +user substitution handling:
- Have the +@netgroup/-@netgroup caches handle the +user/-user cases too.
- Clean up getpwent() to take advantage of the improved +user/-user handling.
1995-03-23 17:33:19 +00:00
wpaul
d76703731d Small cleanups:
- Prepend a '_' to a couple of things
- Make sure YP is enabled in _createcaches()
- Remove a couple of unused/uneeded variables from _createcaches()
1995-03-23 04:04:01 +00:00
wpaul
24d962fe5d Phew! Done at last: getpwent now understands +@netgroup/-@netgroup directives
in addition to the existing NIS substitutions. I may tweak this a bit in
the future, but the important stuff is all here.
1995-03-23 00:59:15 +00:00
wpaul
f414596f26 Use better/stronger/faster NIS lookup code: by using yp_match() instead of
the yp_first()/yp_next() combo, we let the database code in ypserv do some
of the work for us.
1995-03-21 19:47:12 +00:00
phk
58ee097062 msun becomes the default -lm the right way now. 1995-03-21 02:52:05 +00:00
wpaul
576eeae319 Reviewed by: Bill Paul <wpaul@freebsd.org>
Submitted by:	Sebastian Strollo <seb@erix.ericsson.se>

- In /usr/src/lib/libc/yp/yplib.c, function yp_first when clnt_call
fails with (r != RPC_SUCCESS) ysd->dom_vers should be set to 0! This
ensures that /var/yp/bindings/dom.vers will be read again on retry.
What happens now is that when our server is down and someone tries to
use yp they will continue to try until kingdom come. So:
        if(r != RPC_SUCCESS) {
                clnt_perror(ysd->dom_client, "yp_first: clnt_call");
                ysd->dom_vers = -1;
                               ^^^^ change to 0
                goto again;
        }
1995-03-21 00:48:55 +00:00
rgrimes
c32009c986 Comment out declaration of kvm_uread until it can be fixed correctly. 1995-03-20 16:35:11 +00:00
rgrimes
7b174519a7 Change u_long to unsigned long to be consistent. 1995-03-20 16:17:50 +00:00
wpaul
48d35b4b93 At last! Modified __ivaliduser() to do the same kind of user/host validation
that everyone else does: you can now use +host/-host, +user,-user and
+@netgroup/-@netgroup in /etc/hosts.equiv, /.rhosts, /etc/hosts.lpd and
~/.rhosts. Previously, __ivaliduser would only do host/user matches,
which was lame. This affects all the r-commands, lpd, and any other
program/service that uses ruserok().

An example of the usefullness of this feature would be a hosts.equiv
file that looks like this:

+@equiv-hosts

Since the netgroup database can now be accessed via NIS, this lets you
set up client machines once and then never have to worry about them
again: all hosts.equiv changes can now be done through NIS. Once I
finish with getpwent.c, we'll be able to do similar wacky things
with login authentication too. (Our password field substitution
will finally be on par with everyone else's, and I'll finally be
able to fully integrate my FreeBSD machine into my network without
having to worry about the grad students sneaking into it when I'm
not looking. :)

Danger Will Robinson! I tested this thing every which way I could, but
Murphy's Law applies! If anybody spots a potential security problem with
the way my matching algorithm works, tell me immediately! I don't want
crackers snickering and calling me names behind my back. :)
1995-03-20 07:29:55 +00:00
wpaul
cb596fe111 Whoops: expanding netgroups that reference multiple netgroups doesn't
work because parse_netgrp() doesn't recurse properly. Fixed by
changing

if (parse_netgrp(spos))
	return(1);
to

if (parse_netgrp(spos))
	continue;

inside parse_netgrp(). (Lucky for me I happen to have a fairly complex
'live' netgroup database to test this stuff with.)
1995-03-19 22:19:52 +00:00
nate
a57e4a521e Separated out the _putchar & __cputchar() routines so that programs such
as tn3270 can replace _putchar(0 with their own routine and still keep
using the __cputchar() routine used by all of the other curses routines.

Reviewed by:	"Andrey A. Chernov, Black Mage" <ache@astral.msk.su>
1995-03-19 21:47:51 +00:00
joerg
af609f7535 libkvm exports kvm_uread(), so do declare it in the header file.
Got apparent by Philippe's -Wall patch for /usr/bin.
1995-03-19 13:36:49 +00:00
joerg
d2c55744e4 Cast the offset of one call to lseek() to off_t, as it's already done
in all other places here.

This is a hack, the interface should be changed to use off_t's
everywhere around, but this will require to update all the programs
that happen to use libkvm.
1995-03-19 13:33:05 +00:00
phk
c1f6e1c619 add a couple of missing #include lines 1995-03-19 07:00:52 +00:00
wpaul
42a3c01e4d Two major changes:
- Added support for reading netgroups from NIS/YP in addition to the
local /etc/netgroups file. (Note that SunOS and many other systems only
support reading netgroups via NIS, which is a bit odd.)

- Fix Evil Null Pointer Dereferences From Hell (tm) that caused
parse_netgrp() to SEGV when expanding netgroups that include
references to other netgroups. Funny how nobody else noticed this.

This is the first step in implimenting +@netgroup substitution in
getpwent.c and any other places that could use it and don't already
support it (which is probably everywhere).
1995-03-19 06:16:03 +00:00
ache
c7e4543129 Fix authunix_maxgrouplist test
Submitted by: Scott Hazen Mueller <scott@zorch.sf-bay.org>
1995-03-18 17:55:03 +00:00
rgrimes
33aef88532 Remove private mkdir for /usr/include/ss, no handled by mtree. 1995-03-18 08:34:42 +00:00
wpaul
af3a4131b5 Fix 'putting +: in /etc/group causes many programs to dump core' bug
by heading off possible null pointer dereferences in grscan(). Also
change getgrnam() slightly to properly handle the change: if grscan()
returns an rval of 1 and leaves a '+' in the gr_name field and YP is
enabled, poll the YP group.byname map before giving up. This should
insure that we make every effort to find a match in the local and
YP group databases before bailing out.
1995-03-18 05:03:10 +00:00
wpaul
d92cb48248 Repeat after me kids: "I will not try to install files into a directory
when I'm not sure whether or not that directory exists."

Today I discovered that rebuilding /usr/include completely from scratch
doesn't work, because the libss Makefile tries to install headers into
/usr/include/ss, which 'make includes' does not create. The result is that
the libss Makefile plants the header files in /usr/include as individual
files called 'ss,' with the second one overwriting the first, and the
third one overwriting the second. So instead of a directory called
/usr/include/ss, you end up with just one file called /usr/include/ss with
only the last header file in it. Check out /usr/include/ss on freefall
and you'll see what I mean.

I've modified the beforeinstall target in the libss Makefile to check
for the presence of the ${DESTDIR}/usr/include/lbss directory and to
create it if it isn't already there. Hopefully I did it right.
1995-03-15 01:33:05 +00:00
ache
1b91eb6f54 Fix wbkgdset macro
Submitted by: Andreas Wetzel <mickey@deadline.snafu.de>
1995-03-13 19:02:04 +00:00
bde
db2028940b Remove `|| flags & ALT == 0' which was an obscure no-op, not a
parenthesization/precedence bug.
1995-03-12 13:53:51 +00:00
bde
498e010b3a Obtained from: 1.1.5. Originally by jtc. Cosmetically changed for this
commit by bde.

Fix bugs in floating point formatting.  The 4.4lite version is similar
to revision 1.3 in old-cvs and is missing all of jtc's fixes in revision
1.4 in old-cvs.  Revision 1.2 in ncvs fixed one of the old bugs but
introduced at least one new one (for %.0e).

old-cvs log:
revision 1.4
date: 1993/11/04 19:38:22;  author: jtc;  state: Exp;  lines: +33 -20
My work from NetBSD to make printf() & friends ANSI C compliant.
Fixes several bugs in floating point formatting:
  1. Trailing zeros were being stripped with %e format.
  2. %g/%G formats incorrect.
  3. Lots of other nits.
1995-03-12 13:26:49 +00:00
ache
644d3b582f Fix suspended vipw hangs
Obtained from: NetBSD
1995-03-09 21:53:12 +00:00
ache
75e8048c23 stdio.h --> unistd.h 1995-03-09 17:45:23 +00:00
bde
056d7133a8 Obtained from: NetBSD
Remove common sources from ${SRCS} when they are replaced by arch-specific
sources.
1995-03-08 01:41:40 +00:00
bde
54b7f88a16 Don't build swab.o here. It gets built in libc/i386/string. Previously
the copy built from here was overwritten by the other copy and the other
copy was put in library-building command lines twice.  ld now objects to
duplicated modules.
1995-03-07 04:19:11 +00:00
nate
112ef6e028 If we are going to set the OBJS target, don't add to the old target. This
caused the RPC libraries to contain two versions of the same file.
1995-03-04 17:39:24 +00:00
ache
09b78a5269 Solve conflict between two global force variables 1995-03-03 02:34:14 +00:00
joerg
e8c06a9513 On snap 950210, format %s (print seconds from the epoch) is missing
from the code in strftime.c . This affects both the library code
and all the commands using it (e.g. date +%s).

Note that %s is not required by ANSI, but we've already got it in 1.1.5.1.

Suggested by: luigi@labinfo.iet.unipi.it (Luigi Rizzo)
1995-03-01 23:08:40 +00:00
paul
d381c0681f Pull old lex.l out of attic and update to new one. 1995-03-01 08:25:40 +00:00
paul
e5372aca25 Completely rewrite libforms so everything is done at runtime rather
than at compile time.

Should have same functionality as old libforms but with new mechanism.

Lots of new features that use the new mechanism are still to be added.
1995-03-01 08:19:06 +00:00
jkh
4d71750d42 Additions from Thomas Graichen to mention each functions' floating point
counterpart.
Submitted by:	Thomas Graichen <graichen@sirius.physik.fu-berlin.de>
1995-03-01 05:06:48 +00:00
bde
a43c038744 Fix previous fix to agree with the man page - don't report errors in
kvm_open() if errstr is NULL.
1995-02-25 16:44:01 +00:00
bde
17a5fa641e Don't attempt to lstat() the POSIXLY invalid empty pathname.
realpath() still accepts "" as an arg and converts it to a canonical
pathname for the current directory.
1995-02-25 16:06:07 +00:00
phk
1b262ea352 Explain the full story, and make it understandable too. 1995-02-25 04:43:20 +00:00
phk
cbb4f63628 Clean a bunch of -Wall warnings. 1995-02-24 08:51:34 +00:00
phk
5ca4449181 Remove some unused variables and fix two blatant core dump triggers. 1995-02-24 08:15:27 +00:00
phk
a96d1683ee Remove an unused variable. 1995-02-24 07:51:13 +00:00
phk
a219345607 fix the synopsis to show
|     void
|    *signal(int sig, void (*func)(int))

instead of

|     void
|     *signal(sig, func())
|
|     void
|     (*func)()
1995-02-24 07:35:49 +00:00
ache
18a5653682 Add missing #include <time.h> with time() prototype 1995-02-24 01:02:59 +00:00
ache
d70484c276 Fix typo: pcap.h.h 1995-02-23 18:47:06 +00:00
phk
9bf4b628ff Quench a warning and fix some duplicity by using the official strerror
routine, instead of rolling our own.
1995-02-23 06:55:14 +00:00
olah
f0c34d41d1 Fix bogus Makefile which resulted in incompatible shared and static
libs.

Reviewed by:	Michael Reifenberger <root@rz-wb.fh-sw.de>,
		roberto@blaise.ibp.fr (Ollivier ROBERT)
1995-02-21 10:46:34 +00:00
phk
361ca08e0d Speed md5 up around 30% by shorting out a couple of cumbersome
memcpy equivalent functions.
1995-02-21 06:01:49 +00:00
nate
45d8ca0c0f Make libcompat a static only library.
Since functions will come and go from libcompat as they are deprecated
it makes no sense to build a shared library out of it as it will change.

Based on freedback from Terry and Jonas on the mailing lists.
1995-02-20 18:19:50 +00:00
ache
4fd94cf795 Minor optimization. 1995-02-18 11:36:33 +00:00
ache
91ff8e2365 Minor optimization 1995-02-18 01:42:02 +00:00
ache
b122bfda1b Copyrights cleanup 1995-02-18 01:39:00 +00:00
se
c8edfbda77 Bruce pointed out, that a misleading warning would be issued
in an (unlikely) border case (maxgroups==1 and the user is on
an /etc/group line for the same group and that group only ...).

Now this case is dealt with as before ...
1995-02-17 19:45:21 +00:00
se
ecb476bce3 Protect against duplicate gids in group list (as could be the
result of being a member of some group in both /etc/group and YP).
1995-02-17 17:36:09 +00:00
ache
c0479ff88e Don't pick _warn module now 1995-02-17 16:36:12 +00:00
ats
a40b30676a Correct the parameters for the fchown. The third was erroneously
specified as uid_t but should be gid_t.
1995-02-17 00:41:30 +00:00
ache
308515c3f8 Add 8bit collate stuff
Submitted by: alex@elvisti.kiev.ua
1995-02-16 17:01:11 +00:00
ache
472ef98cfb Add 8-bit collate stuff
Submitted by: alex@elvisti.kiev.ua
1995-02-16 04:24:39 +00:00
wollman
668541d9ec Document Transaction TCP extensions to generic system calls. 1995-02-15 22:53:04 +00:00
ache
76d019c170 Add missing lib_window.c to SRCS 1995-02-13 17:23:18 +00:00
phk
56d22b3beb Fix broken makefile. 1995-02-12 02:35:35 +00:00
jkh
87505148a9 Support for >32 PTYs.
Submitted by:	Heikki Suonsivu <hsu@cs.hut.fi>
1995-02-09 11:11:01 +00:00
jkh
a23ae9f606 Install the header files. 1995-02-09 08:00:20 +00:00
bde
1676ed0440 CLEANFILES was missing a few files. 1995-02-08 21:11:39 +00:00
bde
0279eb2145 Add libpcap. I don't know what it is doing in the tree, but it has
settled for too long.  Compiling it gives 142 lines of compiler
warnings.  Perhaps the dirt will be fixed if it is visible.
1995-02-08 20:46:53 +00:00
jkh
66c6af057e Add two parts of Mark's/Gary's dlopen() changes that I missed before. 1995-02-08 17:56:27 +00:00
jkh
dcc217c4ac Support for more Sun compatible dlopen() and friends. Also added proper error
handling.
Reviewed by:    gj
Submitted by:   Mark Diekhans <markd@grizzly.com>
1995-02-07 13:27:29 +00:00
dg
82caf4596d Backed out Keith Bostic's getcwd/$PWD hack. It is causing things to break
all over the place.
1995-02-07 05:52:57 +00:00
phk
184bec765a Document the getenv(PWD) feature. 1995-02-05 18:14:38 +00:00
wpaul
30b1b88a7d Collapsed _masterpw_breakout_yp() and _pw_breakout_yp() into a
single function.
1995-02-05 02:12:49 +00:00
phk
d0412fbe28 A cute hack to speed up things by Keith: if getenv("PWD") is the same
inode as ".", then just return that.  I added a check so it must start with
a '/'.

Reviewed by:	phk
Submitted by:	bostic@cs.berkeley.edu (Keith Bostic)
1995-02-04 19:29:22 +00:00
bde
9c1563f3c3 Include <time.h> instead of <sys/time.h> to get CLK_TCK. Including
<sys/time.h> works because <sys/time.h> includes <time.h> if KERNEL
is not defined, but is ugly.
1995-02-03 22:28:34 +00:00
bde
dc81150269 Change CLK_TCK to CLOCKS_PER_SEC.
Add a missing apostrophe that suggests inverting the frequency to get
tick size.  It read better before because `CLK_TCK' suggests a tick
size although it is actually a frequency.
1995-02-03 22:09:56 +00:00
bde
479b8b6181 Change CLK_TCK to CLOCKS_PER_SEC. (CLK_TCK is a deprecated POSIX feature
and is not necessarily related to the ANSI CLOCKS_PER_SEC).

Parenthesize macro args.
1995-02-03 21:59:45 +00:00
bde
5859d904d1 Fix previous change to preserve const'ness. 1995-02-03 21:54:03 +00:00
wpaul
a3287587cb Fixed a rather serious bug that presents itself when FreeBSD is configured
as an NIS client. The pw_breakout_yp routines that are used to populate the
_pw_passwd structire only do anything if the bits in the pw_fields member
_pw_passwd are cleared. Unfortunately, we can get into a state where
pw_fields has garbage in it right before the YP lookup functions are
called, which causes the breakout functions to screw up in a big way.
Here's how to duplicate the problem:

- Configure FreeBSD as an NIS client
- Log in as a user who's password database records reside only in
  the NIS passwd maps.
- Type ps -aux

Result: your processes appear to be owned by 'root' or 'deamon.'
/bin/ls can exhibit the same problem.

The reason this happens:

- When ps(1) needs to match a username to a UID, it calls getpwuid().

- root is in the local password file, so getpwuid() calls  __hashpw()
  and __hashpw() populates the _pw_passwd struct, including the pw_fields
  member. This happens before NIS lookups take place because, by coincidence,
  ps(1) tends to display processes owned by root before it happens upon
  a proccess owned by you.

- When your UID comes up, __hashpw() fails to find your entry in the
  local password database, so it bails out, BUT THE BITS IN THE pw_fields
  STRUCTURE OF _pw_passwd ARE NEVER CLEARED AND STILL CONTAIN INFORMATION
  FROM THE PREVIOUS CALL TO __hash_pw()!!

- If we have NIS enabled, the NIS lookup functions are called.

- The pw_breakout_yp routines see that the pw_fields bits are set and
  decline to place the data retrieved from the NIS passwd maps into the
  _pw_passwd structure.

- getpwuid() returns the results of the last __hashpw() lookup instead
  of the valid NIS data.

- Hijinxs ensue when user_from_uid() caches this bogus information and
  starts handing out the wrong usernames.

AAAARRRRRRRRRGGGGGGHHHHHHHHHH!!!

*Please* don't tell me I'm the only person to have noticed this.

Fixed by having __hashpw() check the state of pw_fields just before
bailing out on a failed lookup and clearing away any leftover garbage.
What a fun way to spend an afternoon.
1995-02-03 01:09:35 +00:00
wpaul
1818a0c4e1 Fix for that last fix... pass the hat. :) 1995-02-01 20:09:00 +00:00
wpaul
58429fdc31 Small fix to _getyppass(): sometimes we can construct the wrong mapname
when looking for master.passwd.whatever.
1995-02-01 20:06:33 +00:00
paul
0305d2ddc1 Implemented height field for text fields so they can now be more than
one line long.

Fixed a bug in the input field with cursor positioning at the end of
the field.

Make the print_status function available to apps so they can print
status messages.

Updated the example for the new fib parser.
1995-02-01 04:06:37 +00:00
wpaul
5902fd25c2 Some changes for YP password map handling:
- FreeBSD's NIS server can supply a master.passwd map, which has
  more fields in it than a standard passwd map, so we need a
  _master_pw_breakout() fuction.

- When doing passwd map lookups, look for master.passwd.* by attempting
  a _yp_first() on master.passwd.byname. If it exists, we're being served
  by a FreeBSD NIS server and we should use this map.

- If we aren't the superuser, retrieve only the standard passwd maps.
  If we're being served by a FreeBSD system, then the passwd map has
  no passwords in it, and it won't serve us the master.passwd map unless
  we're superuser anyway.

There's a small speed hit for the superuser inherent in the check for
the master.passwd map, but this lets us dynamically decide what to do
rather than rely on a non-standard config file somewhere. Since all
of this is bypassed for normal users, they shouldn't notice the
difference.
1995-01-31 10:04:18 +00:00
paul
98c415953e Add all the necessary bits to use color if the terminal allows it.
You can now specify separate attributes for selected/not selected
cases individually for each field and also an attr for the form as
a whole so you can now have colored backgrounds for the form and
different coloured fields etc.

Update the example.

Change the copyright to a BSD style one.
1995-01-30 02:41:29 +00:00
dg
7e03208067 Be sure to properly fail if there are not enough fields. Problem
reported by MARC Giannoni <marc@cmc.eng.comsat.com>, this fix is by me.
1995-01-27 22:30:03 +00:00
dfr
b5c6599aa4 Reclaim memory used for telldir cookies on closedir. 1995-01-27 13:51:18 +00:00
dufault
a6910ddd5a Clean up handling of unspecified names. Clarify man page. 1995-01-26 23:48:41 +00:00
paul
3d46fa5ebf Truncate any default inputs to the input width.
Update the example so it works properly.
1995-01-25 08:26:17 +00:00
paul
f30e38dd6d New example that uses the new forms language. 1995-01-25 03:34:48 +00:00
paul
dad15ae4bd Update libforms to agree with new fib. 1995-01-25 03:33:43 +00:00
dufault
74e95725c7 Remove "va_start" macro. 1995-01-25 00:33:50 +00:00
ache
e5e62aa35e CFLAGS: = --> += 1995-01-24 22:09:46 +00:00
paul
d28e5686e3 Changed the example to use the forms spec file. 1995-01-24 13:29:30 +00:00
paul
d0f75ce585 Changed the example to use the forms spec file.
Made a couple of variable name changes.
1995-01-24 13:27:46 +00:00
dufault
860d93251e added libscsi 1995-01-24 12:10:42 +00:00
dufault
9cc843332f This commit was generated by cvs2svn to compensate for changes in r5847,
which included commits to RCS files with non-trunk default branches.
1995-01-24 12:10:11 +00:00
dufault
42806a94ee SCSI library layered on SCIOCOMMAND 1995-01-24 12:10:11 +00:00
jkh
daee3a2d40 Eliminate a bogus tab. 1995-01-24 00:13:56 +00:00
wollman
a18673ce5c Don't call _doprnt, which doesn't exist; use vfprintf. 1995-01-23 22:53:12 +00:00
wollman
77c139fd98 Make Jordan happy:
1) Link against object directory version of libcom_err.so.
2) Don't try to install ss_err.h if we haven't made it yet.  It's not
   on the critical path for `make world' at this point.
1995-01-23 18:56:40 +00:00
dg
29cbee93bc First round of changes to clean up the RCSID mess in libc:
1) Changed LIB_SCCS and SYSLIB_SCCS to LIB_RCS and SYSLIB_RCS.
2) Changed sccsid[] variables to rcsid[]
3) Moved all RCSID strings into .text
4) Converted all SCCSID's to RCS $Id$'s
5) Added missing $Id$'s after copyright.
1995-01-23 01:30:24 +00:00
dg
5fd45395cb Changed LIB_SCCS and SYSLIB_SCCS #defines to LIB_RCS and SYSLIB_RCS. 1995-01-23 01:22:08 +00:00
dg
756937c566 (Very) minor improvement from NetBSD/J.T.Conklin. 1995-01-22 22:03:45 +00:00
dg
bb1df6868c Added leaner and meaner swab() function by J.T. Conklin. 1995-01-22 21:36:15 +00:00
wollman
7bf1ad06a8 Fix from Rod so that std_rqs.c can get rebuilt properly when
doing a make world.
1995-01-21 23:30:31 +00:00
wollman
ea6f0fdf7e *** empty log message *** 1995-01-21 23:01:33 +00:00
wollman
cc0c7809c4 In the non-PARANOID case, make sure to set `notickets' to 0 sothat login.c
doesn't complain.
1995-01-20 23:07:10 +00:00
jkh
17c7fa25ae This commit was generated by cvs2svn to compensate for changes in r5739,
which included commits to RCS files with non-trunk default branches.
1995-01-20 04:13:07 +00:00
jkh
8e4f208589 Add the Packet Capture Library from Michael Reifenberger.
Submitted by:	mr
1995-01-20 04:13:07 +00:00
jkh
92a97f198b Add the Packet Capture Library from Michael Reifenberger.
Submitted by:	mr
1995-01-20 04:13:07 +00:00
wollman
b78542d3eb Add libss. 1995-01-19 22:32:05 +00:00
wollman
5628e49063 Port to FreeBSD. 1995-01-19 22:28:38 +00:00
wollman
f006db8305 This commit was generated by cvs2svn to compensate for changes in r5717,
which included commits to RCS files with non-trunk default branches.
1995-01-19 21:28:01 +00:00
wollman
314433f416 MIT SIPB subsystem' library, needed for kadmin' and some other MIT programs. 1995-01-19 21:28:01 +00:00
wollman
0420ea837c Fix unbalanced #endif introduced by yesterday's change. 1995-01-19 19:01:50 +00:00
dfr
d2ea3cadb3 Fix handling of 'e' format floating point so that it prints trailing zeros
correctly.
1995-01-19 12:05:53 +00:00
wollman
b877ace7ed Prevent sites from shooting themselves in the foot while enabling/disabling
YP by disallowing `+' entries as logins in all cases.  (This handles the
case of a `+' entry in the password file but YP not running, which should
never happen but is easy enough to check for so we'll apply some
prophylaxis.)
1995-01-17 23:17:38 +00:00
ache
a3f21b4c3f Back out bkgd changes, now acts per braindamaged sysv standard 1995-01-16 17:33:33 +00:00
wollman
20054cbaa0 Modify klogin to:
1) Don't spit out an error message if Kerberos is installed but not yet
   set up.

2) Don't attempt to verify the ticket you got back, as workstations
   are not intended to have srvtab files of their own.

Both behaviors can be re-enabled with KLOGIN_PARANOID.
1995-01-14 22:57:41 +00:00
wollman
0916b5648b The Common Error Description Library, developed by MIT SIPB and used by
a number of (ex-)Athena programs.  Breaking my own rules for importing
somewhat, as this code does not appear to be actively maintained by anyone
(not that it really needs it).
1995-01-14 22:23:41 +00:00
wollman
93bd3ddd3c This commit was generated by cvs2svn to compensate for changes in r5622,
which included commits to RCS files with non-trunk default branches.
1995-01-14 22:23:41 +00:00
paul
c81d36156b Added emacs ^A,^E,^B & ^F keybindings to field editor.
Changed a constant to a sizeof in test.c
1995-01-11 06:08:45 +00:00
paul
1f1323291e Change size of example form from 80x25 to 80x24 so it works
in a standard xterm.
1995-01-11 01:29:38 +00:00
jkh
dfe96532e9 As long as I can't figure out why this doesn't work, I might as well
add some error checking to it and clean this up a bit.
1995-01-10 12:36:44 +00:00
paul
f2fb5b52fa Place the cursor better on buttons.
Stop field display attributes getting clobbered.
1995-01-10 04:10:55 +00:00
paul
62368d936e New forms library. This provides some basic functions for writing
input forms. It has the following simple fields:

Text fields: Just titles, labels etc.

Input fields: An editable text field that may or may not have an
initial default value.

Labelled input field: This is an input field that has an initial
informative entry in it but it vanishes when you start editing the
field.

Toggle fields: These are fields with a pre-defined list of options
which you cycle through using the space bar.

Action fields: These are button type fields that call functions when
they are selected.

A simple demo is included in examples.
1995-01-10 04:00:37 +00:00
ats
f3f8bf3b16 Add the sys/types.h include to the necessary documented includes for the
getrusage call.
1994-12-31 18:50:57 +00:00
ache
3341b9d500 Fix compiler warnings about tputs argument 1994-12-28 14:30:19 +00:00
bde
672359307c fixunsdfsi.S:
Embalm.  Rewrite to do things much the same as gcc-2: use fistpq for speed
and elegance, and mishandle overflow consistently.  __fixunsdfsi() is no
longer called by gcc.
1994-12-27 13:37:38 +00:00
bde
e96890ff0b sigsetjmp.S:
Remove unnecessary .text statement.
1994-12-27 13:34:04 +00:00
bde
8f5b931dde Remove unnecessary .align statement. 1994-12-27 13:33:03 +00:00
bde
8d3ea78afb Fix a spelling error and add a comment about possible improvements. 1994-12-27 13:12:34 +00:00
bde
65d125f2c2 Fix the bug reported by Torbjorn Granlund <tege@cygnus.com>:
The documentation for mrand48 and lrand48 is mixed up.
mrand48 returns a full 32 bit number, while lrand48 only returns
31 bits.
1994-12-25 15:33:39 +00:00
guido
a02b6b3152 Add missing getdomainname manual page.
Reviewed by:
Submitted by:
Obtained from: 1.1.5.1 with a few modifictaions.
1994-12-18 14:06:39 +00:00
bde
0184c7ba03 Obtained from: 1.1.5
getcwd() has two off-by-one bugs in FreeBSD-2.0:

1. getcwd(buf, size) fails when the size is just large enough.
2. getcwd(buf + 1, 1) incorrectly succeeds when the current directory
   is "/".  buf[0] and buf[2] are clobbered.

(I modified Bruce's original patch to return the proper error code
[ERANGE] in the case of #2, but otherwise... -DG)

This program demonstrates the bug:

---
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <unistd.h>

int main(void)
{
    char buf[5];
    int errors;

    errors = 0;
    if (chdir("/tmp") != 0) {
        perror("chdir");
        abort();
    }
    if (getcwd(buf, 5) == NULL) {
        perror("oops, getcwd failed for buffer size = size required");
        ++errors;
    }
    if (chdir("/") != 0) {
        perror("chdir");
        abort();
    }
    buf[0] = 0;
    buf[2] = 1;
    if (getcwd(buf + 1, 1) != NULL) {
        fprintf(stderr,
                "oops, getcwd succeeded for buffer size = one too small\n");
        ++errors;
    }
    if (buf[0] != 0) {
        fprintf(stderr,
                "oops, getcwd scribbled on memory before start of buffer\n");
        ++errors;
    }
    if (buf[2] != 1) {
        fprintf(stderr,
                "oops, getcwd scribbled on memory after end of buffer\n");
        ++errors;
    }
    exit(errors == 0 ? 0 : 1);
}
1994-12-12 01:29:13 +00:00
bde
f9bd31e543 Obtained from: 386BSD-0.1 patchkit; also fixed in 1.1.5
Compare unsigned chars.
Return the place after where the character was found and not the start
of the string.
1994-12-12 01:23:33 +00:00
bde
85651f85da Fix execl[e]. Multiple execle's failed because of bogus caching of the
pointer returned by realloc().  All callers free the pointer if the
execve fails.  Nuke the caching.  This essentially restores buildargv()
to the 1.1.5 version.  Also fix a memory leak if realloc() fails.  Also
nuke similar but non-broken caching in execvp().  malloc() should be
efficient enough.
1994-12-12 01:15:01 +00:00
ats
d257edec12 Comment out the man page of rstat.1 from Makefile.inc. There is no rstat
command available yet.
Changed an entry in getprcent.3 from rpcinfo(8C) to rpcinfo(8).
Changed an entry in getrpcport.3 from 3R to 3.
Changed two entries in rpc.3 from 3N to 3.
1994-12-11 22:08:10 +00:00
ats
45fe4d648a Added the mpool.3 manpage to the installed manpages. It is referred from the
other manpages and there is no conflict.
1994-12-11 22:03:05 +00:00
ache
9844a286a1 tputs prototypes... 1994-12-10 23:10:41 +00:00
ache
3b7b6171d8 tputs: (char) -> (int) 1994-12-10 23:02:33 +00:00
ache
d571d9fa43 Prototypes... 1994-12-10 22:56:53 +00:00
ache
3bf22911e8 tputs: (char) -> (int) 1994-12-10 22:01:25 +00:00
ache
14e428a71e Fix tputs/tparm declarations 1994-12-09 22:02:19 +00:00
ache
43a20f003f Fix tputs declaration 1994-12-09 21:59:06 +00:00
ache
a14aba2fc2 Fix tputs/tparm declarations 1994-12-09 21:52:47 +00:00
ache
c43ff73eee Describe tparm 1994-12-04 03:15:30 +00:00
ache
4665766ad1 Add $Id$ 1994-12-04 02:49:24 +00:00
ache
2c1b951d31 termcap.h now belongs to system 1994-12-04 02:43:41 +00:00
ache
7749e26c04 Add termcap.h & tparm 1994-12-04 02:41:41 +00:00
ache
207c361309 Move gdc/bs to games 1994-12-03 04:42:49 +00:00
ache
394e4390df exit_standout don't turn most attributes off, fixed 1994-12-03 04:27:08 +00:00
ache
4b914f4b4c #ifdef out check for pending input, cause problems with
output-only pgms
1994-12-03 03:35:30 +00:00
ache
7ac6d5a8b5 bkgd() family fixes 1994-12-02 19:43:34 +00:00
ache
8091ade428 Implement chage_scroll_region properly 1994-12-02 07:35:48 +00:00
ache
da3bc85e13 Upgrade to version 1.8.6 1994-12-02 06:40:24 +00:00
wollman
1504867da7 In _gethostbydnsaddr(), force RES_RECURSE into _res.options. This is
incredibly obnoxious, but also makes inverse mappings work when the local
resolver is in a cache-only configuration.  (Maybe this is actually
a bug in BIND?)
1994-12-01 22:25:38 +00:00
ache
a41d3aa119 wscrl: implement partial scrolling via al/dl
winsdel: implemented via wscrl
winsertln/deleteln: implemented as macros via winsdel
1994-11-29 02:48:20 +00:00
ache
32a635775a Fix many duplicated attribute sets 1994-11-27 05:23:52 +00:00
ache
0195ab27b4 Add wrefresh before doing putp when idlok 1994-11-27 03:08:12 +00:00
ache
127177257e Make idlok works properly with back color erase. 1994-11-27 02:22:09 +00:00
dg
5eb3d67a1e Go back to Bruce's fix with a minor change that will allow a NULL string
pointer if len is 0. I should have looked at the revision history - I would
have found that Bruce already fixed the bug with len=0 over a month ago.
Whoever said that the bug was in 2.0 was wrong.
1994-11-25 08:58:53 +00:00
dg
fa43022815 Fixed bugs related to returning NULL if length is zero. 1994-11-25 04:11:19 +00:00
ache
8554dc18ca Forget to exit alt charset mode, critical for non-cons25r
terminals wits as/ae
1994-11-24 15:09:30 +00:00
ache
b13d509f6f Make this file more BSD-like 1994-11-21 23:03:23 +00:00
ache
1d76dd7613 Fix scroll bug bringed by 'vi <several_small_files>'
and :n command then. :prev bug still exists because it syscons
bug itself, I work on it.
1994-11-21 14:16:31 +00:00
ats
535da6b259 Ooops, change back the LIBDIR macro to the SHLIBDIR macro for the shared
libs as told by Bruce. Now it works.
1994-11-19 14:01:58 +00:00
ats
b600470787 Makefile:
Change the reference for the libtermcap libtermlib link from SHLIBDIR
to LIBDIR. SHLIBDIR is undefined in the standard case.
termcap.c:
Initialize a local variable to zero. Otherwise an erroneous free call
can happen and clobber the calling program.
Seen with vi and gdb. If you have TERMCAP set with a terminal entry and
set TERM with something like huhu, vi and gdb core dumps.
1994-11-18 12:38:43 +00:00
phk
17db408558 Remove ${DESTDIR} from link-macros. Already applied behind the scenes. 1994-11-18 00:59:33 +00:00
ache
825a04e6f6 Make newscr publicly available 1994-11-17 23:53:25 +00:00
dfr
78425e620e Added sysarch system call which is used my i386_get/set_ltd.c and is needed
for Wine support.  The current snapshot of wine works fine with this.

This should go into the beta as the code which it calls in the kernel is
already there, and works fine.
1994-11-17 10:50:55 +00:00
ache
9ff5ea124c Change rules to not generate term.h on second make depend 1994-11-16 11:54:09 +00:00
bde
9da42b5b70 Install shared libraries in ${SHLIBDIR} instead of in ${LIBDIR}.
Add missing ${DESTDIR}'s.
1994-11-14 06:45:23 +00:00
bde
c2f445d041 Install shared libraries in ${DESTDIR}${SHLIBDIR} instead of in
$(DESTDIR)/$(LIBDIR) (I need SHLIBDIR.  The / was a bug and the
$(...) style was inconsistent.)

Install ordinary libraries in ${DESTDIR}${LIBDIR} instead of in
$(DESTDIR)/$(LIBDIR).

Change remaining $(...) to ${...}.
1994-11-14 06:44:45 +00:00
phk
48bf3d3d0e Added routines to read the canonical UNIX configuration file. This will
later be applied to a number of programs (inetd for instance) to clean
out the bogus code doing the same thing, modulus all the bugs.

If you need to read a '#'-is-a-comment-file, please use these routines.

I realize that the shlib# should be bumped (for the non-US world:
increased by something), but will defer this until something significant
happens.
1994-11-13 20:47:44 +00:00
paul
5fde216ffb Fix some bugs with forms that have only text fields.
Add an extern form to forms.h for apps to pick up.
1994-11-13 07:43:43 +00:00
paul
ec3127d29c The start of a forms editor library. Currently implements text and
input fields. It reads a template file passed to init_forms(char *)
and creates a curses based form editor. See the examples directory
for a basic demo.
1994-11-13 06:45:44 +00:00
ljo
f4c6c612e6 Remove z_abs. It is already in libm.a 1994-11-11 12:58:12 +00:00
ljo
287e9adfce Add missing z_abs. In BSD tradition this is in libm.a. 1994-11-11 12:56:27 +00:00
jkh
0095d86e44 From: Michael Reifenberger <root@rz-wb.fh-sw.de>
z_abs is missing in libf2c.
Could someone please commit the following patch?

Submitted by:	mr
1994-11-11 07:27:04 +00:00
ache
f7fa8274c4 Add 57600, 115200 ro baudrate() 1994-11-10 13:10:21 +00:00
ache
5e58f70104 Forget to change = to += in previous commit 1994-11-08 17:33:22 +00:00
ache
f3c87205cd Add missing link for shared libtermlib 1994-11-08 17:31:52 +00:00
phk
db0e19820c *** ATTENTION *** YOU MIGHT BE ABOUT TO BE HOSED *** ATTENTION ***
This effectively changes the non-DES password algoritm.

If you have the "securedist" installed you will have no problems with this.
(Though you might want to consider using this password-encryption instead
of the DES-based if your system is likely to be hacked)

If you are running a -current system without the "securedist" installed:
YOU WILL NEED TO CHANGE ALL PASSWORDS !!    There is no backwards mode.

Suggested procedure is:
	Update your sources
	cd /usr/src/lib/libcrypt
	make clean
	make all
	make install
	passwd root
		<set roots new password>
	change password for any other users on the system.

This algorithm is expected to be much better than the traditional DES-
based algorithm.  It uses the MD5 algorithm at what it is best at, as
opposed to the DES algorithm at something it isn't good at at all.  The
algorithm is designed such that it should very hard to shortcut the
calculations needed to build a dictionary, and to make partial knowledge
(Hmm, his password starts with a 'P'...) useless.  Of course if somebody
breaks the MD5 algorithm this looses too.

The salt is 48 bits (8 char @ base64).
The encrypted password is 128 bits.

And I am positively delighted to say that it takes 34 msec to crypt() a
password on a Pentium/60Mhz, so building a dictionary is not really an
option for hackers at the moment.
1994-11-07 21:07:09 +00:00
phk
1331c46d81 Added "const" to the arguments here and there. 1994-11-07 20:48:35 +00:00
phk
e91914fc35 A semicolon was lost. 1994-11-07 19:54:55 +00:00
jkh
233f442355 From: "gj%pcs.dec.com@inet-gw-1.pa.dec.com" <garyj@rks32.pcs.dec.com>
Given the right circumstances, a call to kvm_open can result in a core
dump.

The diff belows fixes this (note that this change is already in the
NetBSD code). Could somebody apply this?

Gary J.
Submitted by:	gj
1994-11-07 09:42:24 +00:00
ache
0e2cfe6c4c This curses fix allows to print something in lower right corner
if insert_character is available or don't print, if not
1994-11-06 15:30:37 +00:00
ache
d3de661885 Several fixes for 'back_color_erase' curses problem 1994-11-06 09:30:36 +00:00
ache
000e1f9f58 Fix curses bug with delete character and standout 1994-11-06 08:33:34 +00:00
nate
1745c06559 Date: Wed, 26 Oct 1994 15:44:49 -0600
From: Chris Torek <torek@bsdi.com>
Here is a semi-official patch (apply to /usr/src/lib/libc/stdio/fseek.c,
rebuild libc, install).  The current code fails when the seek:

  - is optimized, and
  - is to just past the end of the block currently in the buffer, and
  - is followed by another seek with no intervening read operation, and
  - the destination of subsequent seek is within the block left in the
    buffer (seeking to the beginning of a block does not force a read,
    so the buffer still contains the previous block)

so it is indeed rather obscure.

I may have a different `final' fix, as this one `loses' the buffer
contents on a seek that goes just past the end of the current block.

[Footnote: seeks are optimized only on read-only opens of regular
files that are buffered by the file's optimal I/O size.  This is
what you get with fopen(path, "r") and no call to setvbuf().]

Obtained from: [ BSDI mailing list ]
1994-11-05 18:49:34 +00:00
ache
2c9c58ec9d Add const to termcap prototypes to help libg++ 2.6.1 compiling,
this change must not affect other curses pgms
1994-11-04 15:14:03 +00:00
jkh
e78f90a463 __386BSD__ -> __FreeBSD__
I know that many of these entries are bogus and need to be revisited,
but let's get the tree working again for now and then do a pass through
looking at all the __FreeBSD__ entries, shall we?
1994-11-04 02:14:13 +00:00
dg
4880d363c5 Fix from Gary Jennejohn - use 'cp' not 'buf' in read call. Oops. 1994-11-02 16:38:51 +00:00
pst
29b3feea69 Clean up beforeinstall 1994-11-01 09:14:39 +00:00
ache
669c3d9a1a Add SIGTERM reaction -- cleanup 1994-10-31 03:07:39 +00:00
ache
4c32d7dc6b More verbose diagnostic, if fails 1994-10-31 03:03:18 +00:00