about summary refs log tree commit diff
path: root/sysdeps/generic
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/generic')
-rw-r--r--sysdeps/generic/rpc/auth.h187
-rw-r--r--sysdeps/generic/rpc/auth_des.h46
-rw-r--r--sysdeps/generic/svc_auth.c117
3 files changed, 0 insertions, 350 deletions
diff --git a/sysdeps/generic/rpc/auth.h b/sysdeps/generic/rpc/auth.h
deleted file mode 100644
index b4022853d5..0000000000
--- a/sysdeps/generic/rpc/auth.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/* @(#)auth.h	2.3 88/08/07 4.0 RPCSRC; from 1.17 88/02/08 SMI */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
-
-/*
- * auth.h, Authentication interface.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- *
- * The data structures are completely opaque to the client.  The client
- * is required to pass a AUTH * to routines that create rpc
- * "sessions".
- */
-
-#ifndef _RPC_AUTH_H
-
-#define _RPC_AUTH_H	1
-#include <features.h>
-#include <sys/types.h>
-#include <rpc/types.h>
-#include <rpc/xdr.h>
-
-__BEGIN_DECLS
-
-#define MAX_AUTH_BYTES	400
-#define MAXNETNAMELEN	255	/* maximum length of network user's name */
-
-/*
- * Status returned from authentication check
- */
-enum auth_stat {
-	AUTH_OK=0,
-	/*
-	 * failed at remote end
-	 */
-	AUTH_BADCRED=1,			/* bogus credentials (seal broken) */
-	AUTH_REJECTEDCRED=2,		/* client should begin new session */
-	AUTH_BADVERF=3,			/* bogus verifier (seal broken) */
-	AUTH_REJECTEDVERF=4,		/* verifier expired or was replayed */
-	AUTH_TOOWEAK=5,			/* rejected due to security reasons */
-	/*
-	 * failed locally
-	*/
-	AUTH_INVALIDRESP=6,		/* bogus response verifier */
-	AUTH_FAILED=7			/* some unknown reason */
-};
-
-union des_block {
-	struct {
-		u_int32_t high;
-		u_int32_t low;
-	} key;
-	char c[8];
-};
-typedef union des_block des_block;
-extern bool_t xdr_des_block __P ((XDR *__xdrs, des_block *__blkp));
-
-/*
- * Authentication info.  Opaque to client.
- */
-struct opaque_auth {
-	enum_t	oa_flavor;		/* flavor of auth */
-	caddr_t	oa_base;		/* address of more auth stuff */
-	u_int	oa_length;		/* not to exceed MAX_AUTH_BYTES */
-};
-
-/*
- * Auth handle, interface to client side authenticators.
- */
-typedef struct AUTH AUTH;
-struct AUTH {
-  struct opaque_auth ah_cred;
-  struct opaque_auth ah_verf;
-  union des_block ah_key;
-  struct auth_ops {
-    void (*ah_nextverf) __P ((AUTH *));
-    int  (*ah_marshal) __P ((AUTH *, XDR *));	/* nextverf & serialize */
-    int  (*ah_validate) __P ((AUTH *, struct opaque_auth *));
-						/* validate verifier */
-    int  (*ah_refresh) __P ((AUTH *));		/* refresh credentials */
-    void (*ah_destroy) __P ((AUTH *));     	/* destroy this structure */
-  } *ah_ops;
-  caddr_t ah_private;
-};
-
-
-/*
- * Authentication ops.
- * The ops and the auth handle provide the interface to the authenticators.
- *
- * AUTH	*auth;
- * XDR	*xdrs;
- * struct opaque_auth verf;
- */
-#define AUTH_NEXTVERF(auth)		\
-		((*((auth)->ah_ops->ah_nextverf))(auth))
-#define auth_nextverf(auth)		\
-		((*((auth)->ah_ops->ah_nextverf))(auth))
-
-#define AUTH_MARSHALL(auth, xdrs)	\
-		((*((auth)->ah_ops->ah_marshal))(auth, xdrs))
-#define auth_marshall(auth, xdrs)	\
-		((*((auth)->ah_ops->ah_marshal))(auth, xdrs))
-
-#define AUTH_VALIDATE(auth, verfp)	\
-		((*((auth)->ah_ops->ah_validate))((auth), verfp))
-#define auth_validate(auth, verfp)	\
-		((*((auth)->ah_ops->ah_validate))((auth), verfp))
-
-#define AUTH_REFRESH(auth)		\
-		((*((auth)->ah_ops->ah_refresh))(auth))
-#define auth_refresh(auth)		\
-		((*((auth)->ah_ops->ah_refresh))(auth))
-
-#define AUTH_DESTROY(auth)		\
-		((*((auth)->ah_ops->ah_destroy))(auth))
-#define auth_destroy(auth)		\
-		((*((auth)->ah_ops->ah_destroy))(auth))
-
-
-extern struct opaque_auth _null_auth;
-
-
-/*
- * These are the various implementations of client side authenticators.
- */
-
-/*
- * Unix style authentication
- * AUTH *authunix_create(machname, uid, gid, len, aup_gids)
- *	char *machname;
- *	int uid;
- *	int gid;
- *	int len;
- *	int *aup_gids;
- */
-extern AUTH *authunix_create __P ((char *__machname, __uid_t __uid,
-				   __gid_t __gid, int __len,
-				   __gid_t *__aup_gids));
-extern AUTH *authunix_create_default __P ((void));
-extern AUTH *authnone_create __P ((void));
-extern AUTH *authdes_create __P ((char *__servername, u_int __window,
-				  struct sockaddr *__syncaddr,
-				  des_block *__ckey));
-
-#define AUTH_NONE	0		/* no authentication */
-#define	AUTH_NULL	0		/* backward compatibility */
-#define	AUTH_SYS	1		/* unix style (uid, gids) */
-#define	AUTH_UNIX	AUTH_SYS
-#define	AUTH_SHORT	2		/* short hand unix style */
-#define AUTH_DES	3		/* des style (encrypted timestamps) */
-#define AUTH_KERB       4               /* kerberos style */
-
-/*
- * XDR an opaque authentication struct.
- */
-extern bool_t xdr_opaque_auth __P ((XDR *__xdrs, struct opaque_auth *__ap));
-
-__END_DECLS
-
-#endif /* rpc/auth.h */
diff --git a/sysdeps/generic/rpc/auth_des.h b/sysdeps/generic/rpc/auth_des.h
deleted file mode 100644
index 8c2f794691..0000000000
--- a/sysdeps/generic/rpc/auth_des.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#ifndef _RPC_AUTH_DES_H
-
-#define _RPC_AUTH_DES_H	1
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
-
-/* This is no complete version of this header.  More definitions with
-   the real authentication stuff will come in 1997.  For now we only
-   need to define the function for handling public keys.  */
-
-
-/* Get the public key for NAME and place it in KEY.  NAME can only be
-   up to MAXNETNAMELEN bytes long and the destination buffer KEY should
-   have HEXKEYBATES + 1 bytes long to fit all characters from the key.  */
-extern int getpublickey __P ((__const char *__name, char *__key));
-
-/* Get the secret key for NAME and place it in KEY.  PASSWD is used to
-   decrypt the encrypted key stored in the database.  NAME can only be
-   up to MAXNETNAMELEN bytes long and the destination buffer KEY
-   should have HEXKEYBATES + 1 bytes long to fit all characters from
-   the key.  */
-extern int getsecretkey __P ((__const char *__name, char *__key,
-			      __const char *__passwd));
-
-__END_DECLS
-
-#endif /* rpc/auth_des.h */
diff --git a/sysdeps/generic/svc_auth.c b/sysdeps/generic/svc_auth.c
deleted file mode 100644
index 9f7ed5eca6..0000000000
--- a/sysdeps/generic/svc_auth.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/* @(#)svc_auth.c       2.4 88/08/15 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
- * media and as a part of the software program in whole or part.  Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
-#if !defined(lint) && defined(SCCSIDS)
-static char sccsid[] = "@(#)svc_auth.c 1.19 87/08/11 Copyr 1984 Sun Micro";
-#endif
-
-/*
- * svc_auth.c, Server-side rpc authenticator interface.
- * *WITHOUT* DES authentication.
- *
- * Copyright (C) 1984, Sun Microsystems, Inc.
- */
-
-#include <rpc/rpc.h>
-#include <rpc/svc.h>
-#include <rpc/svc_auth.h>
-
-/*
- * svcauthsw is the bdevsw of server side authentication.
- *
- * Server side authenticators are called from authenticate by
- * using the client auth struct flavor field to index into svcauthsw.
- * The server auth flavors must implement a routine that looks
- * like:
- *
- *      enum auth_stat
- *      flavorx_auth(rqst, msg)
- *              register struct svc_req *rqst;
- *              register struct rpc_msg *msg;
- *
- */
-
-static enum auth_stat _svcauth_null (struct svc_req *, struct rpc_msg *);
-				/* no authentication */
-extern enum auth_stat _svcauth_unix (struct svc_req *, struct rpc_msg *);
-				/* unix style (uid, gids) */
-extern enum auth_stat _svcauth_short (struct svc_req *, struct rpc_msg *);
-				/* short hand unix style */
-
-static const struct
-  {
-    enum auth_stat (*authenticator) (struct svc_req *, struct rpc_msg *);
-  }
-svcauthsw[] =
-{
-  { _svcauth_null },		/* AUTH_NULL */
-  { _svcauth_unix },		/* AUTH_UNIX */
-  { _svcauth_short }		/* AUTH_SHORT */
-};
-#define	AUTH_MAX	2	/* HIGHEST AUTH NUMBER */
-
-
-/*
- * The call rpc message, msg has been obtained from the wire.  The msg contains
- * the raw form of credentials and verifiers.  authenticate returns AUTH_OK
- * if the msg is successfully authenticated.  If AUTH_OK then the routine also
- * does the following things:
- * set rqst->rq_xprt->verf to the appropriate response verifier;
- * sets rqst->rq_client_cred to the "cooked" form of the credentials.
- *
- * NB: rqst->rq_cxprt->verf must be pre-allocated;
- * its length is set appropriately.
- *
- * The caller still owns and is responsible for msg->u.cmb.cred and
- * msg->u.cmb.verf.  The authentication system retains ownership of
- * rqst->rq_client_cred, the cooked credentials.
- *
- * There is an assumption that any flavour less than AUTH_NULL is
- * invalid.
- */
-enum auth_stat
-_authenticate (register struct svc_req *rqst, struct rpc_msg *msg)
-{
-  register int cred_flavor;
-
-  rqst->rq_cred = msg->rm_call.cb_cred;
-  rqst->rq_xprt->xp_verf.oa_flavor = _null_auth.oa_flavor;
-  rqst->rq_xprt->xp_verf.oa_length = 0;
-  cred_flavor = rqst->rq_cred.oa_flavor;
-  if ((cred_flavor <= AUTH_MAX) && (cred_flavor >= AUTH_NULL))
-    return (*(svcauthsw[cred_flavor].authenticator)) (rqst, msg);
-
-  return AUTH_REJECTEDCRED;
-}
-
-static enum auth_stat
-_svcauth_null (struct svc_req *rqst, struct rpc_msg *msg)
-{
-  return AUTH_OK;
-}