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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rtems-20020807/] [cpukit/] [librpc/] [src/] [rpc/] [auth_none.c] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1026 ivang
/*
2
 * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
3
 * unrestricted use provided that this legend is included on all tape
4
 * media and as a part of the software program in whole or part.  Users
5
 * may copy or modify Sun RPC without charge, but are not authorized
6
 * to license or distribute it to anyone else except as part of a product or
7
 * program developed by the user.
8
 *
9
 * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
10
 * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
11
 * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
12
 *
13
 * Sun RPC is provided with no support and without any obligation on the
14
 * part of Sun Microsystems, Inc. to assist in its use, correction,
15
 * modification or enhancement.
16
 *
17
 * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
18
 * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
19
 * OR ANY PART THEREOF.
20
 *
21
 * In no event will Sun Microsystems, Inc. be liable for any lost revenue
22
 * or profits or other special, indirect and consequential damages, even if
23
 * Sun has been advised of the possibility of such damages.
24
 *
25
 * Sun Microsystems, Inc.
26
 * 2550 Garcia Avenue
27
 * Mountain View, California  94043
28
 */
29
 
30
#if defined(LIBC_SCCS) && !defined(lint)
31
/*static char *sccsid = "from: @(#)auth_none.c 1.19 87/08/11 Copyr 1984 Sun Micro";*/
32
/*static char *sccsid = "from: @(#)auth_none.c  2.1 88/07/29 4.0 RPCSRC";*/
33
static char *rcsid = "$FreeBSD: src/lib/libc/rpc/auth_none.c,v 1.9 1999/08/28 00:00:32 peter Exp $";
34
#endif
35
 
36
/*
37
 * auth_none.c
38
 * Creates a client authentication handle for passing "null"
39
 * credentials and verifiers to remote systems.
40
 *
41
 * Copyright (C) 1984, Sun Microsystems, Inc.
42
 */
43
 
44
#include <stdlib.h>
45
#include <rpc/types.h>
46
#include <rpc/xdr.h>
47
#include <rpc/auth.h>
48
#define MAX_MARSHEL_SIZE 20
49
 
50
/*
51
 * Authenticator operations routines
52
 */
53
static void     authnone_verf();
54
static void     authnone_destroy();
55
static bool_t   authnone_marshal();
56
static bool_t   authnone_validate();
57
static bool_t   authnone_refresh();
58
 
59
static struct auth_ops ops = {
60
        authnone_verf,
61
        authnone_marshal,
62
        authnone_validate,
63
        authnone_refresh,
64
        authnone_destroy
65
};
66
 
67
static struct authnone_private {
68
        AUTH    no_client;
69
        char    marshalled_client[MAX_MARSHEL_SIZE];
70
        u_int   mcnt;
71
} *authnone_private;
72
 
73
AUTH *
74
authnone_create()
75
{
76
        register struct authnone_private *ap = authnone_private;
77
        XDR xdr_stream;
78
        register XDR *xdrs;
79
 
80
        if (ap == 0) {
81
                ap = (struct authnone_private *)calloc(1, sizeof (*ap));
82
                if (ap == 0)
83
                        return (0);
84
                authnone_private = ap;
85
        }
86
        if (!ap->mcnt) {
87
                ap->no_client.ah_cred = ap->no_client.ah_verf = _null_auth;
88
                ap->no_client.ah_ops = &ops;
89
                xdrs = &xdr_stream;
90
                xdrmem_create(xdrs, ap->marshalled_client, (u_int)MAX_MARSHEL_SIZE,
91
                    XDR_ENCODE);
92
                (void)xdr_opaque_auth(xdrs, &ap->no_client.ah_cred);
93
                (void)xdr_opaque_auth(xdrs, &ap->no_client.ah_verf);
94
                ap->mcnt = XDR_GETPOS(xdrs);
95
                XDR_DESTROY(xdrs);
96
        }
97
        return (&ap->no_client);
98
}
99
 
100
/*ARGSUSED*/
101
static bool_t
102
authnone_marshal(client, xdrs)
103
        AUTH *client;
104
        XDR *xdrs;
105
{
106
        register struct authnone_private *ap = authnone_private;
107
 
108
        if (ap == 0)
109
                return (0);
110
        return ((*xdrs->x_ops->x_putbytes)(xdrs,
111
            ap->marshalled_client, ap->mcnt));
112
}
113
 
114
static void
115
authnone_verf()
116
{
117
}
118
 
119
static bool_t
120
authnone_validate()
121
{
122
 
123
        return (TRUE);
124
}
125
 
126
static bool_t
127
authnone_refresh()
128
{
129
 
130
        return (FALSE);
131
}
132
 
133
static void
134
authnone_destroy()
135
{
136
}

powered by: WebSVN 2.1.0

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