Path: blob/main/crypto/krb5/src/lib/kadm5/clnt/client_rpc.c
39566 views
/* -*- mode: c; c-file-style: "bsd"; indent-tabs-mode: t -*- */1#include <gssrpc/rpc.h>2#include <kadm5/kadm_rpc.h>3#include <kadm5/admin_xdr.h>4#include <krb5.h>5#include <kadm5/admin.h>6#include <string.h> /* for memset prototype */78#ifdef HAVE_MEMORY_H9#include <memory.h>10#endif1112/* Default timeout can be changed using clnt_control() */13static struct timeval TIMEOUT = { 25, 0 };1415enum clnt_stat16create_principal_2(cprinc_arg *argp, generic_ret *res, CLIENT *clnt)17{18return clnt_call(clnt, CREATE_PRINCIPAL,19(xdrproc_t)xdr_cprinc_arg, (caddr_t)argp,20(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);21}2223enum clnt_stat24create_principal3_2(cprinc3_arg *argp, generic_ret *res, CLIENT *clnt)25{26return clnt_call(clnt, CREATE_PRINCIPAL3,27(xdrproc_t)xdr_cprinc3_arg, (caddr_t)argp,28(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);29}3031enum clnt_stat32delete_principal_2(dprinc_arg *argp, generic_ret *res, CLIENT *clnt)33{34return clnt_call(clnt, DELETE_PRINCIPAL,35(xdrproc_t)xdr_dprinc_arg, (caddr_t)argp,36(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);37}3839enum clnt_stat40modify_principal_2(mprinc_arg *argp, generic_ret *res, CLIENT *clnt)41{42return clnt_call(clnt, MODIFY_PRINCIPAL,43(xdrproc_t)xdr_mprinc_arg, (caddr_t)argp,44(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);45}4647enum clnt_stat48rename_principal_2(rprinc_arg *argp, generic_ret *res, CLIENT *clnt)49{50return clnt_call(clnt, RENAME_PRINCIPAL,51(xdrproc_t)xdr_rprinc_arg, (caddr_t)argp,52(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);53}5455enum clnt_stat56get_principal_2(gprinc_arg *argp, gprinc_ret *res, CLIENT *clnt)57{58return clnt_call(clnt, GET_PRINCIPAL,59(xdrproc_t)xdr_gprinc_arg, (caddr_t)argp,60(xdrproc_t)xdr_gprinc_ret, (caddr_t)res, TIMEOUT);61}6263enum clnt_stat64get_princs_2(gprincs_arg *argp, gprincs_ret *res, CLIENT *clnt)65{66return clnt_call(clnt, GET_PRINCS,67(xdrproc_t)xdr_gprincs_arg, (caddr_t)argp,68(xdrproc_t)xdr_gprincs_ret, (caddr_t)res, TIMEOUT);69}7071enum clnt_stat72chpass_principal_2(chpass_arg *argp, generic_ret *res, CLIENT *clnt)73{74return clnt_call(clnt, CHPASS_PRINCIPAL,75(xdrproc_t)xdr_chpass_arg, (caddr_t)argp,76(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);77}7879enum clnt_stat80chpass_principal3_2(chpass3_arg *argp, generic_ret *res, CLIENT *clnt)81{82return clnt_call(clnt, CHPASS_PRINCIPAL3,83(xdrproc_t)xdr_chpass3_arg, (caddr_t)argp,84(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);85}8687enum clnt_stat88setkey_principal_2(setkey_arg *argp, generic_ret *res, CLIENT *clnt)89{90return clnt_call(clnt, SETKEY_PRINCIPAL,91(xdrproc_t)xdr_setkey_arg, (caddr_t)argp,92(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);93}9495enum clnt_stat96setkey_principal3_2(setkey3_arg *argp, generic_ret *res, CLIENT *clnt)97{98return clnt_call(clnt, SETKEY_PRINCIPAL3,99(xdrproc_t)xdr_setkey3_arg, (caddr_t)argp,100(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);101}102103enum clnt_stat104setkey_principal4_2(setkey4_arg *argp, generic_ret *res, CLIENT *clnt)105{106return clnt_call(clnt, SETKEY_PRINCIPAL4,107(xdrproc_t)xdr_setkey4_arg, (caddr_t)argp,108(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);109}110111enum clnt_stat112chrand_principal_2(chrand_arg *argp, chrand_ret *res, CLIENT *clnt)113{114return clnt_call(clnt, CHRAND_PRINCIPAL,115(xdrproc_t)xdr_chrand_arg, (caddr_t)argp,116(xdrproc_t)xdr_chrand_ret, (caddr_t)res, TIMEOUT);117}118119enum clnt_stat120chrand_principal3_2(chrand3_arg *argp, chrand_ret *res, CLIENT *clnt)121{122return clnt_call(clnt, CHRAND_PRINCIPAL3,123(xdrproc_t)xdr_chrand3_arg, (caddr_t)argp,124(xdrproc_t)xdr_chrand_ret, (caddr_t)res, TIMEOUT);125}126127enum clnt_stat128create_policy_2(cpol_arg *argp, generic_ret *res, CLIENT *clnt)129{130return clnt_call(clnt, CREATE_POLICY,131(xdrproc_t)xdr_cpol_arg, (caddr_t)argp,132(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);133}134135enum clnt_stat136delete_policy_2(dpol_arg *argp, generic_ret *res, CLIENT *clnt)137{138return clnt_call(clnt, DELETE_POLICY,139(xdrproc_t)xdr_dpol_arg, (caddr_t)argp,140(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);141}142143enum clnt_stat144modify_policy_2(mpol_arg *argp, generic_ret *res, CLIENT *clnt)145{146return clnt_call(clnt, MODIFY_POLICY,147(xdrproc_t)xdr_mpol_arg, (caddr_t)argp,148(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);149}150151enum clnt_stat152get_policy_2(gpol_arg *argp, gpol_ret *res, CLIENT *clnt)153{154return clnt_call(clnt, GET_POLICY,155(xdrproc_t)xdr_gpol_arg, (caddr_t)argp,156(xdrproc_t)xdr_gpol_ret, (caddr_t)res, TIMEOUT);157}158159enum clnt_stat160get_pols_2(gpols_arg *argp, gpols_ret *res, CLIENT *clnt)161{162return clnt_call(clnt, GET_POLS,163(xdrproc_t)xdr_gpols_arg, (caddr_t)argp,164(xdrproc_t)xdr_gpols_ret, (caddr_t)res, TIMEOUT);165}166167enum clnt_stat168get_privs_2(void *argp, getprivs_ret *res, CLIENT *clnt)169{170return clnt_call(clnt, GET_PRIVS,171(xdrproc_t)xdr_u_int32, (caddr_t)argp,172(xdrproc_t)xdr_getprivs_ret, (caddr_t)res, TIMEOUT);173}174175enum clnt_stat176init_2(void *argp, generic_ret *res, CLIENT *clnt)177{178return clnt_call(clnt, INIT,179(xdrproc_t)xdr_u_int32, (caddr_t)argp,180(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);181}182183enum clnt_stat184purgekeys_2(purgekeys_arg *argp, generic_ret *res, CLIENT *clnt)185{186return clnt_call(clnt, PURGEKEYS,187(xdrproc_t)xdr_purgekeys_arg, (caddr_t)argp,188(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);189}190191enum clnt_stat192get_strings_2(gstrings_arg *argp, gstrings_ret *res, CLIENT *clnt)193{194return clnt_call(clnt, GET_STRINGS,195(xdrproc_t)xdr_gstrings_arg, (caddr_t)argp,196(xdrproc_t)xdr_gstrings_ret, (caddr_t)res, TIMEOUT);197}198199enum clnt_stat200set_string_2(sstring_arg *argp, generic_ret *res, CLIENT *clnt)201{202return clnt_call(clnt, SET_STRING,203(xdrproc_t)xdr_sstring_arg, (caddr_t)argp,204(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);205}206207enum clnt_stat208get_principal_keys_2(getpkeys_arg *argp, getpkeys_ret *res, CLIENT *clnt)209{210return clnt_call(clnt, EXTRACT_KEYS,211(xdrproc_t)xdr_getpkeys_arg, (caddr_t)argp,212(xdrproc_t)xdr_getpkeys_ret, (caddr_t)res, TIMEOUT);213}214215enum clnt_stat216create_alias_2(calias_arg *argp, generic_ret *res, CLIENT *clnt)217{218return clnt_call(clnt, CREATE_ALIAS,219(xdrproc_t)xdr_calias_arg, (caddr_t)argp,220(xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);221}222223224