Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/crypto/krb5/src/lib/kadm5/clnt/client_rpc.c
39566 views
1
/* -*- mode: c; c-file-style: "bsd"; indent-tabs-mode: t -*- */
2
#include <gssrpc/rpc.h>
3
#include <kadm5/kadm_rpc.h>
4
#include <kadm5/admin_xdr.h>
5
#include <krb5.h>
6
#include <kadm5/admin.h>
7
#include <string.h> /* for memset prototype */
8
9
#ifdef HAVE_MEMORY_H
10
#include <memory.h>
11
#endif
12
13
/* Default timeout can be changed using clnt_control() */
14
static struct timeval TIMEOUT = { 25, 0 };
15
16
enum clnt_stat
17
create_principal_2(cprinc_arg *argp, generic_ret *res, CLIENT *clnt)
18
{
19
return clnt_call(clnt, CREATE_PRINCIPAL,
20
(xdrproc_t)xdr_cprinc_arg, (caddr_t)argp,
21
(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
22
}
23
24
enum clnt_stat
25
create_principal3_2(cprinc3_arg *argp, generic_ret *res, CLIENT *clnt)
26
{
27
return clnt_call(clnt, CREATE_PRINCIPAL3,
28
(xdrproc_t)xdr_cprinc3_arg, (caddr_t)argp,
29
(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
30
}
31
32
enum clnt_stat
33
delete_principal_2(dprinc_arg *argp, generic_ret *res, CLIENT *clnt)
34
{
35
return clnt_call(clnt, DELETE_PRINCIPAL,
36
(xdrproc_t)xdr_dprinc_arg, (caddr_t)argp,
37
(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
38
}
39
40
enum clnt_stat
41
modify_principal_2(mprinc_arg *argp, generic_ret *res, CLIENT *clnt)
42
{
43
return clnt_call(clnt, MODIFY_PRINCIPAL,
44
(xdrproc_t)xdr_mprinc_arg, (caddr_t)argp,
45
(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
46
}
47
48
enum clnt_stat
49
rename_principal_2(rprinc_arg *argp, generic_ret *res, CLIENT *clnt)
50
{
51
return clnt_call(clnt, RENAME_PRINCIPAL,
52
(xdrproc_t)xdr_rprinc_arg, (caddr_t)argp,
53
(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
54
}
55
56
enum clnt_stat
57
get_principal_2(gprinc_arg *argp, gprinc_ret *res, CLIENT *clnt)
58
{
59
return clnt_call(clnt, GET_PRINCIPAL,
60
(xdrproc_t)xdr_gprinc_arg, (caddr_t)argp,
61
(xdrproc_t)xdr_gprinc_ret, (caddr_t)res, TIMEOUT);
62
}
63
64
enum clnt_stat
65
get_princs_2(gprincs_arg *argp, gprincs_ret *res, CLIENT *clnt)
66
{
67
return clnt_call(clnt, GET_PRINCS,
68
(xdrproc_t)xdr_gprincs_arg, (caddr_t)argp,
69
(xdrproc_t)xdr_gprincs_ret, (caddr_t)res, TIMEOUT);
70
}
71
72
enum clnt_stat
73
chpass_principal_2(chpass_arg *argp, generic_ret *res, CLIENT *clnt)
74
{
75
return clnt_call(clnt, CHPASS_PRINCIPAL,
76
(xdrproc_t)xdr_chpass_arg, (caddr_t)argp,
77
(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
78
}
79
80
enum clnt_stat
81
chpass_principal3_2(chpass3_arg *argp, generic_ret *res, CLIENT *clnt)
82
{
83
return clnt_call(clnt, CHPASS_PRINCIPAL3,
84
(xdrproc_t)xdr_chpass3_arg, (caddr_t)argp,
85
(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
86
}
87
88
enum clnt_stat
89
setkey_principal_2(setkey_arg *argp, generic_ret *res, CLIENT *clnt)
90
{
91
return clnt_call(clnt, SETKEY_PRINCIPAL,
92
(xdrproc_t)xdr_setkey_arg, (caddr_t)argp,
93
(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
94
}
95
96
enum clnt_stat
97
setkey_principal3_2(setkey3_arg *argp, generic_ret *res, CLIENT *clnt)
98
{
99
return clnt_call(clnt, SETKEY_PRINCIPAL3,
100
(xdrproc_t)xdr_setkey3_arg, (caddr_t)argp,
101
(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
102
}
103
104
enum clnt_stat
105
setkey_principal4_2(setkey4_arg *argp, generic_ret *res, CLIENT *clnt)
106
{
107
return clnt_call(clnt, SETKEY_PRINCIPAL4,
108
(xdrproc_t)xdr_setkey4_arg, (caddr_t)argp,
109
(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
110
}
111
112
enum clnt_stat
113
chrand_principal_2(chrand_arg *argp, chrand_ret *res, CLIENT *clnt)
114
{
115
return clnt_call(clnt, CHRAND_PRINCIPAL,
116
(xdrproc_t)xdr_chrand_arg, (caddr_t)argp,
117
(xdrproc_t)xdr_chrand_ret, (caddr_t)res, TIMEOUT);
118
}
119
120
enum clnt_stat
121
chrand_principal3_2(chrand3_arg *argp, chrand_ret *res, CLIENT *clnt)
122
{
123
return clnt_call(clnt, CHRAND_PRINCIPAL3,
124
(xdrproc_t)xdr_chrand3_arg, (caddr_t)argp,
125
(xdrproc_t)xdr_chrand_ret, (caddr_t)res, TIMEOUT);
126
}
127
128
enum clnt_stat
129
create_policy_2(cpol_arg *argp, generic_ret *res, CLIENT *clnt)
130
{
131
return clnt_call(clnt, CREATE_POLICY,
132
(xdrproc_t)xdr_cpol_arg, (caddr_t)argp,
133
(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
134
}
135
136
enum clnt_stat
137
delete_policy_2(dpol_arg *argp, generic_ret *res, CLIENT *clnt)
138
{
139
return clnt_call(clnt, DELETE_POLICY,
140
(xdrproc_t)xdr_dpol_arg, (caddr_t)argp,
141
(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
142
}
143
144
enum clnt_stat
145
modify_policy_2(mpol_arg *argp, generic_ret *res, CLIENT *clnt)
146
{
147
return clnt_call(clnt, MODIFY_POLICY,
148
(xdrproc_t)xdr_mpol_arg, (caddr_t)argp,
149
(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
150
}
151
152
enum clnt_stat
153
get_policy_2(gpol_arg *argp, gpol_ret *res, CLIENT *clnt)
154
{
155
return clnt_call(clnt, GET_POLICY,
156
(xdrproc_t)xdr_gpol_arg, (caddr_t)argp,
157
(xdrproc_t)xdr_gpol_ret, (caddr_t)res, TIMEOUT);
158
}
159
160
enum clnt_stat
161
get_pols_2(gpols_arg *argp, gpols_ret *res, CLIENT *clnt)
162
{
163
return clnt_call(clnt, GET_POLS,
164
(xdrproc_t)xdr_gpols_arg, (caddr_t)argp,
165
(xdrproc_t)xdr_gpols_ret, (caddr_t)res, TIMEOUT);
166
}
167
168
enum clnt_stat
169
get_privs_2(void *argp, getprivs_ret *res, CLIENT *clnt)
170
{
171
return clnt_call(clnt, GET_PRIVS,
172
(xdrproc_t)xdr_u_int32, (caddr_t)argp,
173
(xdrproc_t)xdr_getprivs_ret, (caddr_t)res, TIMEOUT);
174
}
175
176
enum clnt_stat
177
init_2(void *argp, generic_ret *res, CLIENT *clnt)
178
{
179
return clnt_call(clnt, INIT,
180
(xdrproc_t)xdr_u_int32, (caddr_t)argp,
181
(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
182
}
183
184
enum clnt_stat
185
purgekeys_2(purgekeys_arg *argp, generic_ret *res, CLIENT *clnt)
186
{
187
return clnt_call(clnt, PURGEKEYS,
188
(xdrproc_t)xdr_purgekeys_arg, (caddr_t)argp,
189
(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
190
}
191
192
enum clnt_stat
193
get_strings_2(gstrings_arg *argp, gstrings_ret *res, CLIENT *clnt)
194
{
195
return clnt_call(clnt, GET_STRINGS,
196
(xdrproc_t)xdr_gstrings_arg, (caddr_t)argp,
197
(xdrproc_t)xdr_gstrings_ret, (caddr_t)res, TIMEOUT);
198
}
199
200
enum clnt_stat
201
set_string_2(sstring_arg *argp, generic_ret *res, CLIENT *clnt)
202
{
203
return clnt_call(clnt, SET_STRING,
204
(xdrproc_t)xdr_sstring_arg, (caddr_t)argp,
205
(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
206
}
207
208
enum clnt_stat
209
get_principal_keys_2(getpkeys_arg *argp, getpkeys_ret *res, CLIENT *clnt)
210
{
211
return clnt_call(clnt, EXTRACT_KEYS,
212
(xdrproc_t)xdr_getpkeys_arg, (caddr_t)argp,
213
(xdrproc_t)xdr_getpkeys_ret, (caddr_t)res, TIMEOUT);
214
}
215
216
enum clnt_stat
217
create_alias_2(calias_arg *argp, generic_ret *res, CLIENT *clnt)
218
{
219
return clnt_call(clnt, CREATE_ALIAS,
220
(xdrproc_t)xdr_calias_arg, (caddr_t)argp,
221
(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
222
}
223
224