mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-03 00:10:10 +00:00
1998-12-20 Roland McGrath <roland@baalperazim.frob.com>
* sunrpc/svc_unix.c, sunrpc/clnt_unix.c: Avoid using `struct cmsghdr' and `struct ucred' #ifndef SCM_CREDENTIALS. * sunrpc/publickey.c (getsecretkey): Use `&errno' instead of `__errno_location ()'; means the same, works for Hurd. * sysdeps/mach/hurd/Makefile (subdirs): Don't elide sunrpc.
This commit is contained in:
parent
ea08b5bcb2
commit
c5720a9396
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
||||
1998-12-20 Roland McGrath <roland@baalperazim.frob.com>
|
||||
|
||||
* sunrpc/svc_unix.c, sunrpc/clnt_unix.c: Avoid using `struct cmsghdr'
|
||||
and `struct ucred' #ifndef SCM_CREDENTIALS.
|
||||
|
||||
* sunrpc/publickey.c (getsecretkey): Use `&errno' instead of
|
||||
`__errno_location ()'; means the same, works for Hurd.
|
||||
|
||||
* sysdeps/mach/hurd/Makefile (subdirs): Don't elide sunrpc.
|
||||
|
||||
1998-12-18 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/unix/sysv/sysv4/solaris2/bits/types.h: Include
|
||||
|
@ -434,17 +434,21 @@ clntunix_destroy (CLIENT *h)
|
||||
mem_free ((caddr_t) h, sizeof (CLIENT));
|
||||
}
|
||||
|
||||
#ifdef SCM_CREDENTIALS
|
||||
struct cmessage {
|
||||
struct cmsghdr cmsg;
|
||||
struct ucred cmcred;
|
||||
};
|
||||
#endif
|
||||
|
||||
static int
|
||||
__msgread (int sock, void *buf, size_t cnt)
|
||||
{
|
||||
struct iovec iov[1];
|
||||
struct msghdr msg;
|
||||
#ifdef SCM_CREDENTIALS
|
||||
struct cmessage cm;
|
||||
#endif
|
||||
|
||||
iov[0].iov_base = buf;
|
||||
iov[0].iov_len = cnt;
|
||||
@ -453,8 +457,10 @@ __msgread (int sock, void *buf, size_t cnt)
|
||||
msg.msg_iovlen = 1;
|
||||
msg.msg_name = NULL;
|
||||
msg.msg_namelen = 0;
|
||||
#ifdef SCM_CREDENTIALS
|
||||
msg.msg_control = (caddr_t)&cm;
|
||||
msg.msg_controllen = sizeof(struct cmessage);
|
||||
#endif
|
||||
msg.msg_flags = 0;
|
||||
|
||||
#ifdef SO_PASSCRED
|
||||
|
@ -280,6 +280,7 @@ svcunix_destroy (SVCXPRT *xprt)
|
||||
mem_free ((caddr_t) xprt, sizeof (SVCXPRT));
|
||||
}
|
||||
|
||||
#ifdef SCM_CREDENTIALS
|
||||
struct cmessage {
|
||||
struct cmsghdr cmsg;
|
||||
struct ucred cmcred;
|
||||
@ -289,6 +290,7 @@ struct cmessage {
|
||||
and the rpcgen generated *_svc functions for the daemon are also not
|
||||
thread safe and uses static global variables, it doesn't matter. */
|
||||
static struct cmessage cm;
|
||||
#endif
|
||||
|
||||
static int
|
||||
__msgread (int sock, void *buf, size_t cnt)
|
||||
@ -303,8 +305,10 @@ __msgread (int sock, void *buf, size_t cnt)
|
||||
msg.msg_iovlen = 1;
|
||||
msg.msg_name = NULL;
|
||||
msg.msg_namelen = 0;
|
||||
#ifdef SCM_CREDENTIALS
|
||||
msg.msg_control = (caddr_t) &cm;
|
||||
msg.msg_controllen = sizeof (struct cmessage);
|
||||
#endif
|
||||
msg.msg_flags = 0;
|
||||
|
||||
#ifdef SO_PASSCRED
|
||||
@ -443,8 +447,10 @@ svcunix_recv (SVCXPRT *xprt, struct rpc_msg *msg)
|
||||
cd->x_id = msg->rm_xid;
|
||||
/* set up verifiers */
|
||||
msg->rm_call.cb_verf.oa_flavor = AUTH_UNIX;
|
||||
#ifdef SCM_CREDENTIALS
|
||||
msg->rm_call.cb_verf.oa_base = (caddr_t) &cm;
|
||||
msg->rm_call.cb_verf.oa_length = sizeof (cm);
|
||||
#endif
|
||||
return TRUE;
|
||||
}
|
||||
cd->strm_stat = XPRT_DIED; /* XXXX */
|
||||
|
@ -18,9 +18,6 @@
|
||||
|
||||
ifdef in-Makerules
|
||||
|
||||
subdirs := $(filter-out sunrpc,$(subdirs)) # XXX skip broken dirs
|
||||
# See hurd/Makefile for commands that install some crucial sunrpc headers.
|
||||
|
||||
# Look for header files in hurd/ under the top-level library source directory.
|
||||
# Look for generated header files where they get created.
|
||||
includes += -I$(..)hurd -I$(common-objpfx)hurd/
|
||||
|
Loading…
Reference in New Issue
Block a user