Commit Graph

92 Commits

Author SHA1 Message Date
wpaul
8b1324427f *groan* Fix yet _ANOTHER_ discrepancy between the NIS protocol definition
and real life. YPPUSHPROC_XFRRESP is supposed to return void and take
an argument of type yppushresp_xfr, not the other way around as yp.x seems
to imply. (I spent two hours today staring intensely at my prototype ypxfr
code and scratching my head before I finally figured this out.)
1995-12-22 04:08:28 +00:00
wpaul
9212ef9542 *sigh* Yet another bogosity: the YPPROC_FIRST procedure is listed as
taking an argument of type ypresp_key. This is incorrect: it should be
ypresp_nokey. (yp_first() is supposed to return the first key in a
given map; the server doesn't need any client-specified key to handle
such a request.)
1995-12-09 08:34:04 +00:00
wpaul
5a5b07fa54 "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
markm
6de60d6095 Removed reference to missing mp.h in comment. We have GNU MP now. 1995-11-12 19:29:08 +00:00
ache
d402cb649b 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
097421f540 Submitted by: john hay
add a link in /usr/include to /sys/netipx
1995-10-27 06:51:02 +00:00
ache
729f3de5ae 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
ache
c62da3f25b Add _PATH_LOCK: /var/spool/lock/
Suggested-by: bde
1995-09-20 13:01:04 +00:00
peter
2dd1919d1c 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
efa7472565 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
bde
6579f34131 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
wollman
bb1cde1c8e Don't install bogus tzfile.h. In fact, don't install any tzfile.h. 1995-08-05 20:24:32 +00:00
rgrimes
b6a813b99b 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
rgrimes
a3e42e9be9 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
wollman
ab0556306c 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
wollman
ff9669995f 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
bde
9a6f33d13c 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
dfr
666343f7f0 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
dfr
6da3ef3223 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
rgrimes
2ad6f3dee6 Remove trailing whitespace. 1995-05-30 05:05:38 +00:00
wpaul
fa684e21af Add prototype for ypbinderr_string(). 1995-04-21 18:07:34 +00:00
bde
794733686f 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
wollman
ddebc4599e 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
bde
d60c039cdc 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
ache
9a3aa41f7b Move inline args out of user namespace.
Obtained from: 1.x
1995-04-07 09:56:10 +00:00
jkh
88e73c918c Add a necessary include file for the catgets* routines.
Obtained from: NetBSD
1995-03-30 12:47:56 +00:00
jkh
00fee885a6 add strhash.h for libc's new string hashing function. 1995-03-26 10:12:53 +00:00
wpaul
998695b2ad 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
phk
ac7827fe75 A little fix related to libm/msun migration.
Reviewed by:	phk
Submitted by:	rgrimes
1995-03-22 07:29:58 +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
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
phk
6b86bde9b5 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
rgrimes
b3d227a8ad Correct chmod of /usr/include/rpcsvc to match mtree file. 1995-03-18 07:04:23 +00:00
rgrimes
a2952acc6d 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
bde
fd469cc93a 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
phk
a09fe2d237 make sys_nerr __const.
Reviewed by:	phk
Submitted by:	ollivier
1995-03-04 20:57:12 +00:00
nate
b9aa930e44 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
wpaul
af81e664a8 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
phk
b69c6850f9 Remove a couple of nested comments. 1995-02-24 08:57:45 +00:00
joerg
e38a83f82f 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
bde
4afb69ddde Define CLK_TCK right. 1995-02-08 18:37:14 +00:00
jkh
2bc5b1e700 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
bde
2c4cd74d62 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
wpaul
c66a9d7870 Need _PATH_YP for ypserver stuff. 1995-01-31 23:12:53 +00:00
ache
5091693941 Declare useful functions (timelocal() and timegm()) 1994-12-26 10:19:41 +00:00
nate
e6af618999 Document some of the fields used by the new shlib code.
Obtained from: NetBSD
1994-12-23 22:32:48 +00:00
ats
d32611e1ea 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
ache
f6fda6cebc 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
ache
aa56ad7f1e 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