OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [newlib-1.18.0/] [newlib-1.18.0-or32-1.0rc2/] [newlib/] [libc/] [sys/] [linux/] [include/] [rpc/] [auth_kerb.h] - Diff between revs 207 and 520

Only display areas with differences | Details | Blame | View Log

Rev 207 Rev 520
/*      $FreeBSD: src/include/rpc/auth_kerb.h,v 1.1 2001/03/19 12:49:46 alfred Exp $ */
/*      $FreeBSD: src/include/rpc/auth_kerb.h,v 1.1 2001/03/19 12:49:46 alfred Exp $ */
/*
/*
 * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
 * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
 * unrestricted use provided that this legend is included on all tape
 * 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
 * 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
 * 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
 * to license or distribute it to anyone else except as part of a product or
 * program developed by the user.
 * program developed by the user.
 *
 *
 * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
 * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
 * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
 * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
 * 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
 * Sun RPC is provided with no support and without any obligation on the
 * part of Sun Microsystems, Inc. to assist in its use, correction,
 * part of Sun Microsystems, Inc. to assist in its use, correction,
 * modification or enhancement.
 * modification or enhancement.
 *
 *
 * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
 * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
 * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
 * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
 * OR ANY PART THEREOF.
 * OR ANY PART THEREOF.
 *
 *
 * In no event will Sun Microsystems, Inc. be liable for any lost revenue
 * In no event will Sun Microsystems, Inc. be liable for any lost revenue
 * or profits or other special, indirect and consequential damages, even if
 * or profits or other special, indirect and consequential damages, even if
 * Sun has been advised of the possibility of such damages.
 * Sun has been advised of the possibility of such damages.
 *
 *
 * Sun Microsystems, Inc.
 * Sun Microsystems, Inc.
 * 2550 Garcia Avenue
 * 2550 Garcia Avenue
 * Mountain View, California  94043
 * Mountain View, California  94043
 */
 */
/*
/*
 * auth_kerb.h, Protocol for Kerberos style authentication for RPC
 * auth_kerb.h, Protocol for Kerberos style authentication for RPC
 *
 *
 * Copyright (C) 1986, Sun Microsystems, Inc.
 * Copyright (C) 1986, Sun Microsystems, Inc.
 */
 */
 
 
#ifndef _RPC_AUTH_KERB_H
#ifndef _RPC_AUTH_KERB_H
#define _RPC_AUTH_KERB_H
#define _RPC_AUTH_KERB_H
 
 
#ifdef KERBEROS
#ifdef KERBEROS
 
 
#pragma ident   "@(#)auth_kerb.h        1.10    94/04/25 SMI"
#pragma ident   "@(#)auth_kerb.h        1.10    94/04/25 SMI"
 
 
#include <kerberos/krb.h>
#include <kerberos/krb.h>
#include <sys/socket.h>
#include <sys/socket.h>
#include <sys/t_kuser.h>
#include <sys/t_kuser.h>
#include <netinet/in.h>
#include <netinet/in.h>
#include <rpc/svc.h>
#include <rpc/svc.h>
 
 
/*
/*
 * There are two kinds of "names": fullnames and nicknames
 * There are two kinds of "names": fullnames and nicknames
 */
 */
enum authkerb_namekind {
enum authkerb_namekind {
        AKN_FULLNAME,
        AKN_FULLNAME,
        AKN_NICKNAME
        AKN_NICKNAME
};
};
/*
/*
 * A fullname contains the ticket and the window
 * A fullname contains the ticket and the window
 */
 */
struct authkerb_fullname {
struct authkerb_fullname {
        KTEXT_ST ticket;
        KTEXT_ST ticket;
        u_long window;          /* associated window */
        u_long window;          /* associated window */
};
};
 
 
/*
/*
 *  cooked credential stored in rq_clntcred
 *  cooked credential stored in rq_clntcred
 */
 */
struct authkerb_clnt_cred {
struct authkerb_clnt_cred {
        /* start of AUTH_DAT */
        /* start of AUTH_DAT */
        unsigned char k_flags;  /* Flags from ticket */
        unsigned char k_flags;  /* Flags from ticket */
        char    pname[ANAME_SZ]; /* Principal's name */
        char    pname[ANAME_SZ]; /* Principal's name */
        char    pinst[INST_SZ]; /* His Instance */
        char    pinst[INST_SZ]; /* His Instance */
        char    prealm[REALM_SZ]; /* His Realm */
        char    prealm[REALM_SZ]; /* His Realm */
        unsigned long checksum; /* Data checksum (opt) */
        unsigned long checksum; /* Data checksum (opt) */
        C_Block session;        /* Session Key */
        C_Block session;        /* Session Key */
        int     life;           /* Life of ticket */
        int     life;           /* Life of ticket */
        unsigned long time_sec; /* Time ticket issued */
        unsigned long time_sec; /* Time ticket issued */
        unsigned long address;  /* Address in ticket */
        unsigned long address;  /* Address in ticket */
        /* KTEXT_ST reply;      Auth reply (opt) */
        /* KTEXT_ST reply;      Auth reply (opt) */
        /* end of AUTH_DAT */
        /* end of AUTH_DAT */
        unsigned long expiry;   /* time the ticket is expiring */
        unsigned long expiry;   /* time the ticket is expiring */
        u_long nickname;        /* Nickname into cache */
        u_long nickname;        /* Nickname into cache */
        u_long window;          /* associated window */
        u_long window;          /* associated window */
};
};
 
 
typedef struct authkerb_clnt_cred authkerb_clnt_cred;
typedef struct authkerb_clnt_cred authkerb_clnt_cred;
 
 
/*
/*
 * A credential
 * A credential
 */
 */
struct authkerb_cred {
struct authkerb_cred {
        enum authkerb_namekind akc_namekind;
        enum authkerb_namekind akc_namekind;
        struct authkerb_fullname akc_fullname;
        struct authkerb_fullname akc_fullname;
        u_long akc_nickname;
        u_long akc_nickname;
};
};
 
 
/*
/*
 * A kerb authentication verifier
 * A kerb authentication verifier
 */
 */
struct authkerb_verf {
struct authkerb_verf {
        union {
        union {
                struct timeval akv_ctime;       /* clear time */
                struct timeval akv_ctime;       /* clear time */
                des_block akv_xtime;            /* crypt time */
                des_block akv_xtime;            /* crypt time */
        } akv_time_u;
        } akv_time_u;
        u_long akv_int_u;
        u_long akv_int_u;
};
};
 
 
/*
/*
 * des authentication verifier: client variety
 * des authentication verifier: client variety
 *
 *
 * akv_timestamp is the current time.
 * akv_timestamp is the current time.
 * akv_winverf is the credential window + 1.
 * akv_winverf is the credential window + 1.
 * Both are encrypted using the conversation key.
 * Both are encrypted using the conversation key.
 */
 */
#ifndef akv_timestamp
#ifndef akv_timestamp
#define akv_timestamp   akv_time_u.akv_ctime
#define akv_timestamp   akv_time_u.akv_ctime
#define akv_xtimestamp  akv_time_u.akv_xtime
#define akv_xtimestamp  akv_time_u.akv_xtime
#define akv_winverf     akv_int_u
#define akv_winverf     akv_int_u
#endif
#endif
/*
/*
 * des authentication verifier: server variety
 * des authentication verifier: server variety
 *
 *
 * akv_timeverf is the client's timestamp + client's window
 * akv_timeverf is the client's timestamp + client's window
 * akv_nickname is the server's nickname for the client.
 * akv_nickname is the server's nickname for the client.
 * akv_timeverf is encrypted using the conversation key.
 * akv_timeverf is encrypted using the conversation key.
 */
 */
#ifndef akv_timeverf
#ifndef akv_timeverf
#define akv_timeverf    akv_time_u.akv_ctime
#define akv_timeverf    akv_time_u.akv_ctime
#define akv_xtimeverf   akv_time_u.akv_xtime
#define akv_xtimeverf   akv_time_u.akv_xtime
#define akv_nickname    akv_int_u
#define akv_nickname    akv_int_u
#endif
#endif
 
 
/*
/*
 * Register the service name, instance and realm.
 * Register the service name, instance and realm.
 */
 */
extern int      authkerb_create(char *, char *, char *, u_int,
extern int      authkerb_create(char *, char *, char *, u_int,
                        struct netbuf *, int *, dev_t, int, AUTH **);
                        struct netbuf *, int *, dev_t, int, AUTH **);
extern bool_t   xdr_authkerb_cred(XDR *, struct authkerb_cred *);
extern bool_t   xdr_authkerb_cred(XDR *, struct authkerb_cred *);
extern bool_t   xdr_authkerb_verf(XDR *, struct authkerb_verf *);
extern bool_t   xdr_authkerb_verf(XDR *, struct authkerb_verf *);
extern int      svc_kerb_reg(SVCXPRT *, char *, char *, char *);
extern int      svc_kerb_reg(SVCXPRT *, char *, char *, char *);
extern enum auth_stat _svcauth_kerb(struct svc_req *, struct rpc_msg *);
extern enum auth_stat _svcauth_kerb(struct svc_req *, struct rpc_msg *);
 
 
#endif KERBEROS
#endif KERBEROS
#endif  /* !_RPC_AUTH_KERB_H */
#endif  /* !_RPC_AUTH_KERB_H */
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.