Commit Graph

387 Commits

Author SHA1 Message Date
Bill Paul
04228afa84 "What? He's modifying the NIS protocol definition!?"
No, not really. There are just a couple of long-standing bogosities here
that I feel compelled to fix. :)

There are two small changes here:

1) yp.x actually contains _three_ protocol definitions: YPPROG (standard
   NIS client/server procedures), YPPUSH_XFRRESPPROG (callback handler
   for the YPPROC_XFR service, aka ypxfr/yppush) and YPBINDPROG (for ypbind,
   ypset & friends). The problem is that when you run yp.x through rpcgen(1),
   it generates client and server stubs with hooks for all three services.
   This makes it impossible to actually use the rpcgen-erated code in a
   program that only deals with _one_ of these services (ypserv, ypbind,
   etc...) without manually removing the unneeded stubs (either by hand
   editing or by committing unspeakable horrors with sed). This defeats
   the whole purpose of using rpcgen and is generally annoying.

   What I've done is to insert a few #ifndefs and #endifs to allow a
   programmer to selectively blot out those functions that aren't needed
   for a particular program. For instance, if you do 'rpcgen -DYPSERV_ONLY',
   you'll get only the necessary client/server stubs to implement the
   standard yp client and server functions. If you do 'rpcgen -DYPBIND_ONLY',
   you get only what you need for ypbind. If you don't #define anything,
   you get the whole mess, just like before, so existing programs won't
   notice the difference. (Note that the -D flag is not supported by our
   existing crufty version of rpcgen, but I intend to update it soon.)

2) The definition for the ypresp_key_val structure is actually incorrect
   with respect to reality: the key and val members are specified in the
   wrong order. It should be val/key rather than key/val. For whatever
   the reason, Sun's actual NIS implementation contradicts the protocol
   definition in this case. Again, accounting for this bogosity here is
   cleaner and easier than mangling the output from rpcgen.
1995-12-08 17:58:50 +00:00
Mark Murray
985200a17e Removed reference to missing mp.h in comment. We have GNU MP now. 1995-11-12 19:29:08 +00:00
Andrey A. Chernov
15b31aa05a Fix isspecial/isphonogram, they was swapped
Remove EOF hack, now it is recognized per ANSI/POSIX
Add upper bounds check
Handle all negative chars inside locale functions
1995-11-03 12:25:14 +00:00
Julian Elischer
2ef81f4909 Submitted by: john hay
add a link in /usr/include to /sys/netipx
1995-10-27 06:51:02 +00:00
Andrey A. Chernov
b8643b5a1b Due conflict to some obsoleted applications (dump/restore) rename
_PATH_LOCK to _PATH_UUCPLOCK
Pointed-by: bde
1995-09-23 15:14:25 +00:00
Andrey A. Chernov
fa78e67a41 Add _PATH_LOCK: /var/spool/lock/
Suggested-by: bde
1995-09-20 13:01:04 +00:00
Peter Wemm
d58a9efd01 Update the resolver include files to bind-4.9.3-beta24 level (from beta9p1)
Note: this was done by selective patching from diffs by hand, in order
to not conflict with the 4.4BSD base code.  Beta9 was done the same way.

Obtained from:	Paul Vixie <paul@vix.com>
1995-08-20 19:59:28 +00:00
Joerg Wunsch
df57976dbc Install the headers and sample files with 444 perms (as opposed to
555).

Submitted by:	graichen@sirius.physik.fu-berlin.de (Thomas Graichen)
1995-08-15 20:06:50 +00:00
Bruce Evans
48cfb668fc Change install' to ${INSTALL}' so that default install flags can be
specified in the top level Makefiles.

Previously I missed dozens of Makefiles that skip the install after
using `cmp -s' to decide that the install isn't necessary.
1995-08-06 12:24:38 +00:00
Garrett Wollman
cffeb06206 Don't install bogus tzfile.h. In fact, don't install any tzfile.h. 1995-08-05 20:24:32 +00:00
Rodney W. Grimes
38d29ffcd6 Remove NOOBJ, we now need it.
Remove JUST_TELL_ME hack, let the newvers.sh output fall into the
obj dir, and add CLEANFILES= to clean up after it.
1995-07-13 10:04:11 +00:00
Rodney W. Grimes
5e92b09f4f Add a sprinkling of ${.CURDIR} to some paths so that this works
in the presence of an obj dir (though NOOBJ is set now, that shall
change in the near future.)
1995-07-13 09:57:34 +00:00
Garrett Wollman
827d45ce27 Fix a bug I didn't manage to trigger until after committing previous
fix to header installation.
1995-06-29 19:45:46 +00:00
Garrett Wollman
5a497e0c63 Make this include installation conform to the standard of all the rest:
- Don't do mkdir/chown/chmod
	- Do `cmp -s' before attempting to install a header

This should fix the obnoxious problem of yp programs wanting to
rebuild every time.
1995-06-29 19:43:00 +00:00
Bruce Evans
943c18018b Fix standards conformance bugs in <signal.h>:
include/signal.h:
There was massive namespace pollution from including <sys/types.h>.
POSIX functions were declared even when _ANSI_SOURCE is defined.

sys.sys/signal.h:
NSIG was declared even if _ANSI_SOURCE or _POSIX_SOURCE is defined.
sig_atomic_t wasn't declared if _POSIX_SOURCE is defined.
Declare a typedef for signal handling functions and use it to
unobfuscate declarations and to avoid half-baked function types
that cause unwanted compiler warnings at certain warning levels.
Fix confusing comment about SA_RESTART.

sys/i386/include/signal.h:
This has to be included to get the declaration of sig_atomic_t even
when _ANSI_SOURCE is defined, so be more careful about polluting
the ANSI namespace.

Uniformize idempotency ifdefs.
1995-06-28 02:14:13 +00:00
Doug Rabson
a62dc40654 Changes to support version 3 of the NFS protocol.
The version 2 support has been tested (client+server) against FreeBSD-2.0,
IRIX 5.3 and FreeBSD-current (using a loopback mount).  The version 2 support
is stable AFAIK.
The version 3 support has been tested with a loopback mount and minimally
against an IRIX 5.3 server.  It needs more testing and may have problems.
I have patched amd to support the new variable length filehandles although
it will still only use version 2 of the protocol.

Before booting a kernel with these changes, nfs clients will need to at least
build and install /usr/sbin/mount_nfs.  Servers will need to build and
install /usr/sbin/mountd.

NFS diskless support is untested.

Obtained from: Rick Macklem <rick@snowhite.cis.uoguelph.ca>
1995-06-27 11:07:30 +00:00
Doug Rabson
82aaeb09ad Change ld.so to correctly load dependant libraries for dlopen and unload them
on dlclose.  Also correctly call constructors and destructors for libraries
linked with /usr/lib/c++rt0.o.
Change interpretation of dlopen manpage to call _init() rather than init()
for dlopened objects.
Change c++rt0.o to avoid using atexit to call destructors, allowing dlclose to
call destructors when an object is unloaded.
Change interface between crt0 and ld.so to allow crt0 to call a function on
exit to call destructors for shared libraries explicitly.

These changes are backwards compatible.  Old binaries will work with the new
ld.so and new binaries will work with the old ld.so.  A version number has
been introduced in the crt0-ld.so interface to allow for future changes.

Reviewed by:	GAWollman, Craig Struble <cstruble@singularity.bevc.blacksburg.va.us>
1995-06-27 09:53:27 +00:00
Rodney W. Grimes
4399be3cbd Remove trailing whitespace. 1995-05-30 05:05:38 +00:00
Bill Paul
fa238a7175 Add prototype for ypbinderr_string(). 1995-04-21 18:07:34 +00:00
Bruce Evans
67c54240cd Don't declare rune_t, putenv() or setenv() if _POSIX_SOURCE is declared.
Previously they were only guarded by `#ifndef _ANSI_SOURCE'.  They are
neither ANSI nor POSIX nor std and should never have been declared here.

Declare functions like abs() as having attribute `__pure2'.  Declaring them
as having type `__pure' has been a no-op for some time.

Delete obsolete comment about stub locale functions.

Use consistent formatting for the rand48 functions.  These and about 30
other functions should never have been declared here either.
1995-04-15 23:48:16 +00:00
Garrett Wollman
3688be0eeb Add err_set_file() and err_set_exit() functions to make it possible for
programs which use err(3) to work nicely in a wider range of environments
(e.g., dialog).
1995-04-13 18:04:11 +00:00
Bruce Evans
18c34920f8 Reviewed by: ache and wollman (long ago)
Fix numerous ANSI conformance bugs and other nits.

ctype.h:
o There were no prototypes behind the macros (conformance bug).
o isascii() didn't have enough parentheses (plain bug).
o tolower() and toupper were always static inline (conformance
  bug?  You could undef them and take their address, but this
  gave different addresses in different modules.  You couldn't
  undef them and declare them (correctly) again).  <stdio.h>'s
  treatment of putc() shows one way to handle this problem,
  but it only works because the putc() macro is allowed to
  reevaluate its args.  I used a hack controlled by
  _EXTERNALIZE_CTYPE_INLINES_ to get <ctype.h> to generate the
  code (the previous hack involving _ANSI_LIBRARY_ goes away).
  This has the advantage that the core of the functions is only
  written down once and the disadvantage that another layer of
  functions is required.  The extra layer goes away if inline
  functions are used, leaving only the problem of understanding
  why there are functions named toupper(), __toupper and
  ___toupper() as well as a macro named toupper.
o Nothing seems to define _USE_CTYPE_LIBRARY_.  Eliminate it
o Let the user set _USE_CTYPE_INLINE_ and _DONT_USE_CTYPE_INLINE_
  for full control over inlining.
o The args for the inline functions didn't have enough
  underscores (conformance bug).
o The formatting and ordering was inconsistent (style bug).
o TODO: fix conformance bugs brought by including <runetype.h>.
1995-04-07 11:43:40 +00:00
Andrey A. Chernov
ead39f6e45 Move inline args out of user namespace.
Obtained from: 1.x
1995-04-07 09:56:10 +00:00
Jordan K. Hubbard
03060874ed Add a necessary include file for the catgets* routines.
Obtained from: NetBSD
1995-03-30 12:47:56 +00:00
Jordan K. Hubbard
7f5473b3cc add strhash.h for libc's new string hashing function. 1995-03-26 10:12:53 +00:00
Bill Paul
e13e2475dc Add a couple of extra #defines for special keys to be embedded in the
password databases:

#define _PW_KEYPLUSBYNUM        '5'     /* special +@netgroup entries */
#define _PW_KEYMINUSBYNUM       '6'     /* special -@netgroup entries */
#define _PW_KEYPLUSCNT          '7'     /* number of +@netgroup entries */
#define _PW_KEYMINUSCNT         '8'     /* number of -@netgroup entries */

This is to help getpwent.c in libc build the +@netgroup/-@netgroup
caches.
1995-03-23 00:08:00 +00:00
Poul-Henning Kamp
d7e1495a33 A little fix related to libm/msun migration.
Reviewed by:	phk
Submitted by:	rgrimes
1995-03-22 07:29:58 +00:00
Rodney W. Grimes
1a96efa2b8 Comment out declaration of kvm_uread until it can be fixed correctly. 1995-03-20 16:35:11 +00:00
Rodney W. Grimes
15f7fc2caa Change u_long to unsigned long to be consistent. 1995-03-20 16:17:50 +00:00
Joerg Wunsch
cb0b0e16cd 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
Poul-Henning Kamp
afb8c020f0 Create osreldate.h from sys/conf/newvers.sh if we an find it. This
should take a completely ridiculous reboot out of the "make release"
process...
1995-03-19 07:25:17 +00:00
Rodney W. Grimes
2a3e102a44 Correct chmod of /usr/include/rpcsvc to match mtree file. 1995-03-18 07:04:23 +00:00
Rodney W. Grimes
07cf92fa27 Temporarily add mkdir/chown of /usr/include/${LUDIR} so that things
are consistent with the mtree file.  These and all other mkdir/chown/
chmod calls shall be removed in a future version of this file.
1995-03-18 07:03:51 +00:00
Bruce Evans
97f567ae95 Forward-declare `struct rpc_err' so that it isn't declared inside a
prototype when <rpc/clnt.h> isn't included.
1995-03-12 12:13:37 +00:00
Poul-Henning Kamp
dd8723c2e3 make sys_nerr __const.
Reviewed by:	phk
Submitted by:	ollivier
1995-03-04 20:57:12 +00:00
Nate Williams
c79eac4c4c Weak symbol support from NetBSD. This should bring us in sync with the
NetBSD ld code except for local changes for dlopen() and friends and
the hashing on the minor value of the shlibs.  We should be binary
compatible now with all their libraries.

Obtained from: NetBSD
1995-03-04 17:49:20 +00:00
Bill Paul
3e38f89608 The bootparam protocol file needs some extra includes in FreeBSD in order
to properly resolve some definitions in <nfs/nfs.h>. I suppose nobody noticed
this before because no one's tried to build bootparamd in FreeBSD until
now.

(Yes, you read that right: I've got bootparamd ready to go. And
rarpd is on the way. :)
1995-02-26 21:11:08 +00:00
Poul-Henning Kamp
e4f13e774e Remove a couple of nested comments. 1995-02-24 08:57:45 +00:00
Joerg Wunsch
99909befb6 Make the argument list for the (non-Posix) fchown() consistent with
Posix chown(), and also with the man page.

Submitted by: Doug Rabson <dfr@render.com>
1995-02-16 11:10:24 +00:00
Bruce Evans
02a7dd7637 Define CLK_TCK right. 1995-02-08 18:37:14 +00:00
Jordan K. Hubbard
efa6e5fa69 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:26:39 +00:00
Bruce Evans
339b0f68f2 Define CLOCKS_PER_SEC.
Define CLK_TCK only if _ANSI_SOURCE is not defined.

Don't include <machine/limits.h> to get the definition of CLK_TCK.
CLK_TCK should never have been defined there, and the inclusion
polluted the namespace.
1995-02-03 21:47:48 +00:00
Bill Paul
c70242ae20 Need _PATH_YP for ypserver stuff. 1995-01-31 23:12:53 +00:00
Andrey A. Chernov
8c2f5ad758 Declare useful functions (timelocal() and timegm()) 1994-12-26 10:19:41 +00:00
Nate Williams
d27e9722db Document some of the fields used by the new shlib code.
Obtained from: NetBSD
1994-12-23 22:32:48 +00:00
Andreas Schulz
f8f6d0dc4a Reviewed by: Bruce Evans
Add prototypes for the *rand48 family here in the moment to get them
running again.
1994-11-21 09:25:58 +00:00
Andrey A. Chernov
4c268ef31a By Bruce and Joerg suggestions and by looking into June version
of NetBSD simple #include <stdlib.h> into malloc.h
Put #warning that this file is obsoleted ( by Joerg suggestion)
1994-11-17 11:04:49 +00:00
Andrey A. Chernov
89247e2d78 Add malloc.h for better SYSV/Linux compatibility like most
providers (like SUN f.e.) does.
malloc.h have comment about its SYSVism
1994-11-15 13:42:20 +00:00
Paul Traina
49ccad71de Clean up install rules 1994-11-01 09:19:50 +00:00
Andreas Schulz
bef25be89c Delete the clean and cleandir target and let the bsd.prog.mk do the
work. Error was with the private clean/cleandir pair, the obj under
include/rpcsvc doesn't get cleaned out.
1994-10-31 00:42:20 +00:00
Garrett Wollman
d2b0023cb3 Delete vax' (and i386' and `hp300' etc.) namespace pollution.
Our one supported compiler always defines the double-underscore variant,
so always use that.

Noticed by Bruce Evans after a report by John Capo.
1994-10-30 00:21:30 +00:00
L Jonas Olsson
a5a29f816e Install f2c.h for FORTRAN support.
Obtained from: netlib.att.com
1994-10-26 18:35:40 +00:00
Bruce Evans
b5fd024b77 Improve error detection and handling:
Reduce _JBLEN for the i386 to what is actually used.
	Encapsulate jmp_buf and sigjmp_buf in structs.
	Enlarge jmp_buf to the same size as sigjmp_buf.
	Declare *longjmp as non-returning.

Remove stale comments about sig*jmp not being implemented.
1994-10-25 14:11:35 +00:00
Andrey A. Chernov
09b133a008 Remove EOF handling after Bruce explanation. This step returns
to 4.4 way to not allow EOF in ctype and now all signed chars
(including '\377' which becomes EOF) converted to (unsigned char) properly.
1994-10-09 11:18:44 +00:00
Andrey A. Chernov
262fb20771 Handle EOF case in all macros by ANSI standard.
Cast all ints < 0 to (unsigned char) to fix common problem
with sign extention on signed char.
1994-10-08 17:36:44 +00:00
Bruce Evans
508bd973c1 Don't install symlink frame.h -> machine/frame.h. <frame.h> is nonstandard
and unused.
1994-10-03 04:15:54 +00:00
Paul Traina
620377c466 Only reinstall osreldate.h if necessary 1994-09-29 21:29:22 +00:00
Paul Traina
26d43d5130 skey.h has moved elsewhere 1994-09-29 21:17:49 +00:00
Paul Traina
66a9a51572 Define _PATH_FTPUSERS 1994-09-29 09:20:10 +00:00
Paul Traina
1363f04ce1 get* rework and new bind code 1994-09-25 02:12:49 +00:00
David Greenman
67866c4075 Woops, include machine/exec.h, too. 1994-09-24 21:49:20 +00:00
David Greenman
3eb3f8f32a Include imgact_aout.h rather than exec.h 1994-09-24 21:38:56 +00:00
Garrett Wollman
4be4929c2b Get rid of _PATH_UNIX completely; use getbootfile(3) instead.
DANGER WILL ROBINSON!
_PATH_UNIX is currently defined as the literal string "don't use this".
I am of two minds about this myself, but wanted to get something into the
tree as quickly as possible.
1994-09-24 00:08:43 +00:00
Garrett Wollman
6913240fbc Add a new field to the passwd structure, indicating which of the fields have
something in them, and which ones were left blank.  This will be used
for YP support in a few minutes, and for user login classes if anyone cares
to implement them.
1994-09-20 01:12:04 +00:00
Garrett Wollman
7d39692365 Declare [gs]etdomainname(). 1994-09-18 21:09:10 +00:00
Bruce Evans
458c5c89e7 Install osreldate.h with the correct owner, group and mode. It is still
created at install time and not compared with the current version, so
it can't be installed using install and the timestamp of the target gets
clobbered.
1994-09-15 20:07:18 +00:00
Bruce Evans
218cd6b6e1 Don't install math.h if WANT_MSUN is defined. lib/msun has its own
math.h with many extensions.
1994-09-08 10:36:30 +00:00
Bruce Evans
2868e9618b Declare functions that don't return as having attribute __dead2. 1994-09-08 10:29:15 +00:00
Gary Palmer
2069b09ad3 Add defines to allow pwd_mkdb to build databases in a specified
directory - removing the need to hardcode /etc into pwd_mkdb
1994-09-07 22:58:26 +00:00
Bruce Evans
f34a7038a6 Use ${ECHO} instead of echo' so that make -s' is fairly quiet. 1994-08-28 17:44:10 +00:00
Paul Richards
385e380a6a Changed idempotent strings to reflect directory area.
Reviewed by:
Submitted by:
1994-08-21 04:05:05 +00:00
Paul Richards
54b0ee633c Made them idempotent.
Reviewed by:
Submitted by:
1994-08-21 04:03:58 +00:00
Paul Richards
d90963f5e4 Added skey.h to Makefile and reformatted the list a bit.
Reviewed by:
Submitted by:
1994-08-20 12:00:06 +00:00
Paul Richards
1e32938f17 Brought it over form 1.1.5
Reviewed by:
Submitted by:	Paul Richards
1994-08-20 10:48:18 +00:00
Garrett Wollman
9ae159169a Make it easier for programs to figure out what revision of FreeBSD they
are running under.  Here's how to bootstrap (order is important):

1) Re-compile gcc (just the driver is all you need).
2) Re-compile libc.
3) Re-compile your kernel.  Reboot.
4) cd /usr/src/include; make install

You can now detect the compilation environment with the following code:

#if !defined(__FreeBSD__)
#define __FreeBSD_version 199401
#elif __FreeBSD__ == 1
#define __FreeBSD_version 199405
#else
#include <osreldate.h>
#endif

You can determine the run-time environment by calling the new C library
function getosreldate(), or by examining the MIB variable kern.osreldate.

For the time being, the release date is defined as 199409, which we have
already established as our target.
1994-08-10 06:25:07 +00:00
Garrett Wollman
437c3dee7c Make sure that rpcsvc headers actually get installed. 1994-08-07 22:29:20 +00:00
Garrett Wollman
86b9a9cc2d Use the header files that are compatible with the code just moved over
from 1.1.5.
1994-08-07 18:41:02 +00:00
Garrett Wollman
02474d6701 histedit.h is now installed from here, not from libedit. 1994-08-04 20:49:28 +00:00
Garrett Wollman
dba7a33ecc Install RPC headers from include, like they always should have been. 1994-08-04 20:39:34 +00:00
Garrett Wollman
a68c32c7b3 Added glueo build rpcsvc stuff, and install floatingpoint.h. 1994-08-04 19:04:38 +00:00
Garrett Wollman
75b6313053 Moved 1.1.5 RPC service files from 1.1.5. Tese are the correct ones;
the ones in /usr/src/lib/librpc/rpcsvc are somewhat bogus and will
be deleted.

Submitted by:	Original work in 1.1 by J.T. Conklin.
1994-08-04 19:01:57 +00:00
Rodney W. Grimes
ee9183faff Add link.h to list of headers to install. 1994-05-28 09:37:33 +00:00
Rodney W. Grimes
3a7b365fa1 Make comments about what is missing the same as in other makefiles.
Remove the commented out stuff about X11 as the system sources should
not be doing anything with X11.
1994-05-28 06:17:33 +00:00
Rodney W. Grimes
fb502a37dc Update the Makefile to work correctly when copying and/or symlinking
/usr/include.

Make comment about mp.h missing and remove it from the list of files.
Fix installation of ufs include files as this is now a tree ufs/{ffs,lfs,
mfs,ufs}.

Make setting of SHARED optional by makeing it SHARED?=.

Comment out installation of X11 includes since it does not work
for XFree86 until we get XFree86 to install as /usr/X11.

Update _PATH_UNIX to be /kernel.  Remove /usr/{contrib,old}/bin from
_PATH_STDPATH.
1994-05-26 13:48:52 +00:00
Rodney W. Grimes
59deaec541 BSD 4.4 Lite Include Sources 1994-05-24 09:57:34 +00:00
Jordan K. Hubbard
a70c96594a This is the new link.h from Paul K. Keeping history is even probably a bad
idea considering the old version (but I haven't time for attic surgery - this
is just a caution).  This is part of (and the major reason for) the new ld
changes.
1994-02-13 20:47:18 +00:00
Paul Richards
90f2ed3a8f Added link.h for shared libs. 1993-11-03 23:48:30 +00:00