1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00
* Versions.def: Add GLIBC_2.1.1 to libpthread.

	* iconvdata/Makefile (modules): Add KOI8-U.
	(distribute): Add koi8-u.c.
	(gen-8bit-gap-modules): Add koi8-u.
	* iconvdata/gconv-modules: Add KOI8-U entries.
	* iconvdata/koi8-u.c: New file.

1999-04-13  Thorsten Kukuk  <kukuk@suse.de>

	* sunrpc/auth_des.c: 64bit fixes, security fixes.
	* sunrpc/auth_none.c: Pretty print.
	* sunrpc/auth_unix.c: Likewise.
	* sunrpc/authdes_prot.c: Likewise.
	* sunrpc/authuxprot.c: Likewise.
	* sunrpc/bindrsvprt.c: Likewise.
	* sunrpc/clnt_gen.c: Likewise.
	* sunrpc/rpc/xdr.h: Likewise.
	* sunrpc/rpc/auth_des.h: Add rpc_timeval struct.
	* sunrpc/rpc_cmsg.c: Don't use *long pointers.
	* sunrpc/rtime.c: Use new rpc_timeval.
	* sunrpc/svc_authux.c: Don't use *long pointers.
	* sunrpc/svcauth_des.c: Likewise + security fixes.
	* sunrpc/xdr_mem.c: Don't use *long pointers.
	* sunrpc/xdr_rec.c: Likewise.
	* sunrpc/xdr_sizeof.c: Likewise.
	* sunrpc/xdr_stdio.c: Likewise.

1999-04-15  Ulrich Drepper  <drepper@cygnus.com>
This commit is contained in:
Ulrich Drepper
1999-04-15 13:54:57 +00:00
parent a548696234
commit f8afba91cf
30 changed files with 400 additions and 500 deletions

View File

@ -1,4 +1,3 @@
/* @(#)auth_unix.c 2.2 88/08/01 4.0 RPCSRC */
/*
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
* unrestricted use provided that this legend is included on all tape
@ -27,20 +26,16 @@
* 2550 Garcia Avenue
* Mountain View, California 94043
*/
#if !defined(lint) && defined(SCCSIDS)
static char sccsid[] = "@(#)auth_unix.c 1.19 87/08/11 Copyr 1984 Sun Micro";
#endif
/*
* Copyright (C) 1984, Sun Microsystems, Inc.
*/
/*
* auth_unix.c, Implements UNIX style authentication parameters.
*
* Copyright (C) 1984, Sun Microsystems, Inc.
*
* The system is very weak. The client uses no encryption for it's
* credentials and only sends null verifiers. The server sends backs
* null verifiers or optionally a verifier that suggests a new short hand
* for the credentials.
*
*/
#include <limits.h>
@ -63,8 +58,7 @@ static bool_t authunix_validate (AUTH *, struct opaque_auth *);
static bool_t authunix_refresh (AUTH *);
static void authunix_destroy (AUTH *);
static struct auth_ops auth_unix_ops =
{
static struct auth_ops auth_unix_ops = {
authunix_nextverf,
authunix_marshal,
authunix_validate,
@ -75,14 +69,13 @@ static struct auth_ops auth_unix_ops =
/*
* This struct is pointed to by the ah_private field of an auth_handle.
*/
struct audata
{
struct opaque_auth au_origcred; /* original credentials */
struct opaque_auth au_shcred; /* short hand cred */
u_long au_shfaults; /* short hand cache faults */
char au_marshed[MAX_AUTH_BYTES];
u_int au_mpos; /* xdr pos at end of marshed */
};
struct audata {
struct opaque_auth au_origcred; /* original credentials */
struct opaque_auth au_shcred; /* short hand cred */
u_long au_shfaults; /* short hand cache faults */
char au_marshed[MAX_AUTH_BYTES];
u_int au_mpos; /* xdr pos at end of marshed */
};
#define AUTH_PRIVATE(auth) ((struct audata *)auth->ah_private)
static bool_t marshal_new_auth (AUTH *) internal_function;
@ -93,12 +86,8 @@ static bool_t marshal_new_auth (AUTH *) internal_function;
* Returns an auth handle with the given stuff in it.
*/
AUTH *
authunix_create (machname, uid, gid, len, aup_gids)
char *machname;
uid_t uid;
gid_t gid;
int len;
gid_t *aup_gids;
authunix_create (char *machname, uid_t uid, gid_t gid, int len,
gid_t *aup_gids)
{
struct authunix_parms aup;
char mymem[MAX_AUTH_BYTES];
@ -146,12 +135,13 @@ authunix_create (machname, uid, gid, len, aup_gids)
abort ();
au->au_origcred.oa_length = len = XDR_GETPOS (&xdrs);
au->au_origcred.oa_flavor = AUTH_UNIX;
if ((au->au_origcred.oa_base = mem_alloc ((u_int) len)) == NULL)
au->au_origcred.oa_base = mem_alloc ((u_int) len);
if (au->au_origcred.oa_base == NULL)
{
(void) fprintf (stderr, _("authunix_create: out of memory\n"));
(void) fputs (_("authunix_create: out of memory\n"), stderr);
return NULL;
}
bcopy (mymem, au->au_origcred.oa_base, (u_int) len);
memcpy(au->au_origcred.oa_base, mymem, (u_int) len);
/*
* set auth handle to reflect new cred.
@ -317,13 +307,10 @@ marshal_new_auth (AUTH *auth)
xdrmem_create (xdrs, au->au_marshed, MAX_AUTH_BYTES, XDR_ENCODE);
if ((!xdr_opaque_auth (xdrs, &(auth->ah_cred))) ||
(!xdr_opaque_auth (xdrs, &(auth->ah_verf))))
{
perror (_("auth_none.c - Fatal marshalling problem"));
}
perror (_("auth_none.c - Fatal marshalling problem"));
else
{
au->au_mpos = XDR_GETPOS (xdrs);
}
au->au_mpos = XDR_GETPOS (xdrs);
XDR_DESTROY (xdrs);
return TRUE;