472 Commits

Author SHA1 Message Date
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