kadm5_principal_ent_t princ, long mask,
char *pw)
{
- generic_ret *r;
+ generic_ret r = { 0, 0 };
cprinc_arg arg;
kadm5_server_handle_t handle = server_handle;
arg.rec.tl_data = NULL;
}
- r = create_principal_2(&arg, handle->clnt);
-
- if(r == NULL)
+ if (create_principal_2(&arg, &r, handle->clnt))
eret();
- return r->code;
+ return r.code;
}
kadm5_ret_t
krb5_key_salt_tuple *ks_tuple,
char *pw)
{
- generic_ret *r;
+ generic_ret r = { 0, 0 };
cprinc3_arg arg;
kadm5_server_handle_t handle = server_handle;
arg.rec.tl_data = NULL;
}
- r = create_principal3_2(&arg, handle->clnt);
-
- if(r == NULL)
+ if (create_principal3_2(&arg, &r, handle->clnt))
eret();
- return r->code;
+ return r.code;
}
kadm5_ret_t
kadm5_delete_principal(void *server_handle, krb5_principal principal)
{
dprinc_arg arg;
- generic_ret *r;
+ generic_ret r = { 0, 0 };
kadm5_server_handle_t handle = server_handle;
CHECK_HANDLE(server_handle);
return EINVAL;
arg.princ = principal;
arg.api_version = handle->api_version;
- r = delete_principal_2(&arg, handle->clnt);
- if(r == NULL)
+ if (delete_principal_2(&arg, &r, handle->clnt))
eret();
- return r->code;
+ return r.code;
}
kadm5_ret_t
kadm5_principal_ent_t princ, long mask)
{
mprinc_arg arg;
- generic_ret *r;
+ generic_ret r = { 0, 0 };
kadm5_server_handle_t handle = server_handle;
CHECK_HANDLE(server_handle);
arg.rec.mod_name = NULL;
- r = modify_principal_2(&arg, handle->clnt);
-
- if(r == NULL)
+ if (modify_principal_2(&arg, &r, handle->clnt))
eret();
- return r->code;
+ return r.code;
}
kadm5_ret_t
long mask)
{
gprinc_arg arg;
- gprinc_ret *r;
+ gprinc_ret r;
kadm5_server_handle_t handle = server_handle;
CHECK_HANDLE(server_handle);
arg.princ = princ;
arg.mask = mask;
arg.api_version = handle->api_version;
- r = get_principal_2(&arg, handle->clnt);
- if(r == NULL)
+ memset(&r, 0, sizeof(gprinc_ret));
+ if (get_principal_2(&arg, &r, handle->clnt))
eret();
- if (r->code == 0)
- memcpy(ent, &r->rec, sizeof(r->rec));
+ if (r.code == 0)
+ memcpy(ent, &r.rec, sizeof(r.rec));
- return r->code;
+ return r.code;
}
kadm5_ret_t
char *exp, char ***princs, int *count)
{
gprincs_arg arg;
- gprincs_ret *r;
+ gprincs_ret r;
kadm5_server_handle_t handle = server_handle;
CHECK_HANDLE(server_handle);
return EINVAL;
arg.exp = exp;
arg.api_version = handle->api_version;
- r = get_princs_2(&arg, handle->clnt);
- if(r == NULL)
+ memset(&r, 0, sizeof(gprincs_ret));
+ if (get_princs_2(&arg, &r, handle->clnt))
eret();
- if(r->code == 0) {
- *count = r->count;
- *princs = r->princs;
+ if (r.code == 0) {
+ *count = r.count;
+ *princs = r.princs;
} else {
*count = 0;
*princs = NULL;
}
- return r->code;
+ return r.code;
}
kadm5_ret_t
krb5_principal source, krb5_principal dest)
{
rprinc_arg arg;
- generic_ret *r;
+ generic_ret r = { 0, 0 };
kadm5_server_handle_t handle = server_handle;
CHECK_HANDLE(server_handle);
arg.api_version = handle->api_version;
if (source == NULL || dest == NULL)
return EINVAL;
- r = rename_principal_2(&arg, handle->clnt);
- if(r == NULL)
+ if (rename_principal_2(&arg, &r, handle->clnt))
eret();
- return r->code;
+ return r.code;
}
kadm5_ret_t
krb5_principal princ, char *password)
{
chpass_arg arg;
- generic_ret *r;
+ generic_ret r = { 0, 0 };
kadm5_server_handle_t handle = server_handle;
CHECK_HANDLE(server_handle);
if(princ == NULL)
return EINVAL;
- r = chpass_principal_2(&arg, handle->clnt);
- if(r == NULL)
+ if (chpass_principal_2(&arg, &r, handle->clnt))
eret();
- return r->code;
+ return r.code;
}
kadm5_ret_t
char *password)
{
chpass3_arg arg;
- generic_ret *r;
+ generic_ret r = { 0, 0 };
kadm5_server_handle_t handle = server_handle;
CHECK_HANDLE(server_handle);
if(princ == NULL)
return EINVAL;
- r = chpass_principal3_2(&arg, handle->clnt);
- if(r == NULL)
+ if (chpass_principal3_2(&arg, &r, handle->clnt))
eret();
- return r->code;
+ return r.code;
}
kadm5_ret_t
krb5_keyblock *keyblock)
{
setv4key_arg arg;
- generic_ret *r;
+ generic_ret r = { 0, 0 };
kadm5_server_handle_t handle = server_handle;
CHECK_HANDLE(server_handle);
if(princ == NULL || keyblock == NULL)
return EINVAL;
- r = setv4key_principal_2(&arg, handle->clnt);
- if(r == NULL)
+ if (setv4key_principal_2(&arg, &r, handle->clnt))
eret();
- return r->code;
+ return r.code;
}
kadm5_ret_t
int n_keys)
{
setkey_arg arg;
- generic_ret *r;
+ generic_ret r = { 0, 0 };
kadm5_server_handle_t handle = server_handle;
CHECK_HANDLE(server_handle);
if(princ == NULL || keyblocks == NULL)
return EINVAL;
- r = setkey_principal_2(&arg, handle->clnt);
- if(r == NULL)
+ if (setkey_principal_2(&arg, &r, handle->clnt))
eret();
- return r->code;
+ return r.code;
}
kadm5_ret_t
int n_keys)
{
setkey3_arg arg;
- generic_ret *r;
+ generic_ret r = { 0, 0 };
kadm5_server_handle_t handle = server_handle;
CHECK_HANDLE(server_handle);
if(princ == NULL || keyblocks == NULL)
return EINVAL;
- r = setkey_principal3_2(&arg, handle->clnt);
- if(r == NULL)
+ if (setkey_principal3_2(&arg, &r, handle->clnt))
eret();
- return r->code;
+ return r.code;
}
kadm5_ret_t
int n_key_data)
{
setkey4_arg arg;
- generic_ret *r;
+ generic_ret r = { 0, 0 };
kadm5_server_handle_t handle = server_handle;
CHECK_HANDLE(server_handle);
if (princ == NULL || key_data == NULL || n_key_data == 0)
return EINVAL;
- r = setkey_principal4_2(&arg, handle->clnt);
- if (r == NULL)
+ if (setkey_principal4_2(&arg, &r, handle->clnt))
eret();
- return r->code;
+ return r.code;
}
kadm5_ret_t
krb5_keyblock **key, int *n_keys)
{
chrand3_arg arg;
- chrand_ret *r;
+ chrand_ret r;
kadm5_server_handle_t handle = server_handle;
- int i, ret;
+ int i;
CHECK_HANDLE(server_handle);
if(princ == NULL)
return EINVAL;
- r = chrand_principal3_2(&arg, handle->clnt);
- if(r == NULL)
+ memset(&r, 0, sizeof(chrand_ret));
+ if (chrand_principal3_2(&arg, &r, handle->clnt))
eret();
if (n_keys)
- *n_keys = r->n_keys;
+ *n_keys = r.n_keys;
if (key) {
- if(r->n_keys) {
- *key = malloc(r->n_keys * sizeof(krb5_keyblock));
- if (*key == NULL)
- return ENOMEM;
- for (i = 0; i < r->n_keys; i++) {
- ret = krb5_copy_keyblock_contents(handle->context, &r->keys[i],
- &(*key)[i]);
- if (ret) {
- free(*key);
- return ENOMEM;
- }
- }
- } else
- *key = NULL;
+ *key = r.keys;
+ } else {
+ for (i = 0; i < r.n_keys; i++)
+ krb5_free_keyblock_contents(handle->context, &r.keys[i]);
+ free(r.keys);
}
-
- return r->code;
+ return r.code;
}
kadm5_ret_t
krb5_keyblock **key, int *n_keys)
{
chrand_arg arg;
- chrand_ret *r;
+ chrand_ret r;
kadm5_server_handle_t handle = server_handle;
- int i, ret;
+ int i;
CHECK_HANDLE(server_handle);
if(princ == NULL)
return EINVAL;
- r = chrand_principal_2(&arg, handle->clnt);
- if(r == NULL)
+ memset(&r, 0, sizeof(chrand_ret));
+ if (chrand_principal_2(&arg, &r, handle->clnt))
eret();
if (n_keys)
- *n_keys = r->n_keys;
+ *n_keys = r.n_keys;
if (key) {
- if(r->n_keys) {
- *key = malloc(r->n_keys * sizeof(krb5_keyblock));
- if (*key == NULL)
- return ENOMEM;
- for (i = 0; i < r->n_keys; i++) {
- ret = krb5_copy_keyblock_contents(handle->context, &r->keys[i],
- &(*key)[i]);
- if (ret) {
- free(*key);
- return ENOMEM;
- }
- }
- } else
- *key = NULL;
+ *key = r.keys;
+ } else {
+ for (i = 0; i < r.n_keys; i++)
+ krb5_free_keyblock_contents(handle->context, &r.keys[i]);
+ free(r.keys);
}
-
- return r->code;
+ return r.code;
}
/* not supported on client side */
int keepkvno)
{
purgekeys_arg arg;
- generic_ret *r;
+ generic_ret r = { 0, 0 };
kadm5_server_handle_t handle = server_handle;
CHECK_HANDLE(server_handle);
if (princ == NULL)
return EINVAL;
- r = purgekeys_2(&arg, handle->clnt);
- if(r == NULL)
+ if (purgekeys_2(&arg, &r, handle->clnt))
eret();
- return r->code;
+ return r.code;
}
kadm5_ret_t
krb5_string_attr **strings_out, int *count_out)
{
gstrings_arg arg;
- gstrings_ret *r;
+ gstrings_ret r;
kadm5_server_handle_t handle = server_handle;
*strings_out = NULL;
arg.princ = principal;
arg.api_version = handle->api_version;
- r = get_strings_2(&arg, handle->clnt);
- if (r == NULL)
+ memset(&r, 0, sizeof(gstrings_ret));
+ if (get_strings_2(&arg, &r, handle->clnt))
eret();
- if (r->code == 0) {
- *strings_out = r->strings;
- *count_out = r->count;
+ if (r.code == 0) {
+ *strings_out = r.strings;
+ *count_out = r.count;
}
- return r->code;
+ return r.code;
}
kadm5_ret_t
const char *key, const char *value)
{
sstring_arg arg;
- generic_ret *r;
+ generic_ret r = { 0, 0 };
kadm5_server_handle_t handle = server_handle;
CHECK_HANDLE(server_handle);
arg.key = (char *)key;
arg.value = (char *)value;
arg.api_version = handle->api_version;
- r = set_string_2(&arg, handle->clnt);
- if (r == NULL)
+ if (set_string_2(&arg, &r, handle->clnt))
eret();
- return r->code;
+ return r.code;
}
kadm5_ret_t
int *n_key_data)
{
getpkeys_arg arg;
- getpkeys_ret *r;
+ getpkeys_ret r;
kadm5_server_handle_t handle = server_handle;
CHECK_HANDLE(server_handle);
if (princ == NULL || key_data == NULL || n_key_data == 0)
return EINVAL;
- r = get_principal_keys_2(&arg, handle->clnt);
- if (r == NULL)
+ memset(&r, 0, sizeof(getpkeys_ret));
+ if (get_principal_keys_2(&arg, &r, handle->clnt))
eret();
- if (r->code == 0) {
- *key_data = r->key_data;
- *n_key_data = r->n_key_data;
+ if (r.code == 0) {
+ *key_data = r.key_data;
+ *n_key_data = r.n_key_data;
}
- return r->code;
+ return r.code;
}
/* Default timeout can be changed using clnt_control() */
static struct timeval TIMEOUT = { 25, 0 };
-generic_ret *
-create_principal_2(cprinc_arg *argp, CLIENT *clnt)
+enum clnt_stat
+create_principal_2(cprinc_arg *argp, generic_ret *res, CLIENT *clnt)
{
- static generic_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, CREATE_PRINCIPAL,
- (xdrproc_t) xdr_cprinc_arg, (caddr_t) argp,
- (xdrproc_t) xdr_generic_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, CREATE_PRINCIPAL,
+ (xdrproc_t)xdr_cprinc_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
}
-generic_ret *
-create_principal3_2(cprinc3_arg *argp, CLIENT *clnt)
+enum clnt_stat
+create_principal3_2(cprinc3_arg *argp, generic_ret *res, CLIENT *clnt)
{
- static generic_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, CREATE_PRINCIPAL3,
- (xdrproc_t) xdr_cprinc3_arg, (caddr_t) argp,
- (xdrproc_t) xdr_generic_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, CREATE_PRINCIPAL3,
+ (xdrproc_t)xdr_cprinc3_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
}
-generic_ret *
-delete_principal_2(dprinc_arg *argp, CLIENT *clnt)
+enum clnt_stat
+delete_principal_2(dprinc_arg *argp, generic_ret *res, CLIENT *clnt)
{
- static generic_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, DELETE_PRINCIPAL,
- (xdrproc_t) xdr_dprinc_arg, (caddr_t) argp,
- (xdrproc_t) xdr_generic_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, DELETE_PRINCIPAL,
+ (xdrproc_t)xdr_dprinc_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
}
-generic_ret *
-modify_principal_2(mprinc_arg *argp, CLIENT *clnt)
+enum clnt_stat
+modify_principal_2(mprinc_arg *argp, generic_ret *res, CLIENT *clnt)
{
- static generic_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, MODIFY_PRINCIPAL,
- (xdrproc_t) xdr_mprinc_arg, (caddr_t) argp,
- (xdrproc_t) xdr_generic_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, MODIFY_PRINCIPAL,
+ (xdrproc_t)xdr_mprinc_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
}
-generic_ret *
-rename_principal_2(rprinc_arg *argp, CLIENT *clnt)
+enum clnt_stat
+rename_principal_2(rprinc_arg *argp, generic_ret *res, CLIENT *clnt)
{
- static generic_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, RENAME_PRINCIPAL,
- (xdrproc_t) xdr_rprinc_arg, (caddr_t) argp,
- (xdrproc_t) xdr_generic_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, RENAME_PRINCIPAL,
+ (xdrproc_t)xdr_rprinc_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
}
-gprinc_ret *
-get_principal_2(gprinc_arg *argp, CLIENT *clnt)
+enum clnt_stat
+get_principal_2(gprinc_arg *argp, gprinc_ret *res, CLIENT *clnt)
{
- static gprinc_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, GET_PRINCIPAL,
- (xdrproc_t) xdr_gprinc_arg, (caddr_t) argp,
- (xdrproc_t) xdr_gprinc_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, GET_PRINCIPAL,
+ (xdrproc_t)xdr_gprinc_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_gprinc_ret, (caddr_t)res, TIMEOUT);
}
-gprincs_ret *
-get_princs_2(gprincs_arg *argp, CLIENT *clnt)
+enum clnt_stat
+get_princs_2(gprincs_arg *argp, gprincs_ret *res, CLIENT *clnt)
{
- static gprincs_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, GET_PRINCS,
- (xdrproc_t) xdr_gprincs_arg, (caddr_t) argp,
- (xdrproc_t) xdr_gprincs_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, GET_PRINCS,
+ (xdrproc_t)xdr_gprincs_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_gprincs_ret, (caddr_t)res, TIMEOUT);
}
-generic_ret *
-chpass_principal_2(chpass_arg *argp, CLIENT *clnt)
+enum clnt_stat
+chpass_principal_2(chpass_arg *argp, generic_ret *res, CLIENT *clnt)
{
- static generic_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, CHPASS_PRINCIPAL,
- (xdrproc_t) xdr_chpass_arg, (caddr_t) argp,
- (xdrproc_t) xdr_generic_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, CHPASS_PRINCIPAL,
+ (xdrproc_t)xdr_chpass_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
}
-generic_ret *
-chpass_principal3_2(chpass3_arg *argp, CLIENT *clnt)
+enum clnt_stat
+chpass_principal3_2(chpass3_arg *argp, generic_ret *res, CLIENT *clnt)
{
- static generic_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, CHPASS_PRINCIPAL3,
- (xdrproc_t) xdr_chpass3_arg, (caddr_t) argp,
- (xdrproc_t) xdr_generic_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, CHPASS_PRINCIPAL3,
+ (xdrproc_t)xdr_chpass3_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
}
-generic_ret *
-setv4key_principal_2(setv4key_arg *argp, CLIENT *clnt)
+enum clnt_stat
+setv4key_principal_2(setv4key_arg *argp, generic_ret *res, CLIENT *clnt)
{
- static generic_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, SETV4KEY_PRINCIPAL,
- (xdrproc_t) xdr_setv4key_arg, (caddr_t) argp,
- (xdrproc_t) xdr_generic_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, SETV4KEY_PRINCIPAL,
+ (xdrproc_t)xdr_setv4key_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
}
-generic_ret *
-setkey_principal_2(setkey_arg *argp, CLIENT *clnt)
+enum clnt_stat
+setkey_principal_2(setkey_arg *argp, generic_ret *res, CLIENT *clnt)
{
- static generic_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, SETKEY_PRINCIPAL,
- (xdrproc_t) xdr_setkey_arg, (caddr_t) argp,
- (xdrproc_t) xdr_generic_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, SETKEY_PRINCIPAL,
+ (xdrproc_t)xdr_setkey_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
}
-generic_ret *
-setkey_principal3_2(setkey3_arg *argp, CLIENT *clnt)
+enum clnt_stat
+setkey_principal3_2(setkey3_arg *argp, generic_ret *res, CLIENT *clnt)
{
- static generic_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, SETKEY_PRINCIPAL3,
- (xdrproc_t) xdr_setkey3_arg, (caddr_t) argp,
- (xdrproc_t) xdr_generic_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, SETKEY_PRINCIPAL3,
+ (xdrproc_t)xdr_setkey3_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
}
-generic_ret *
-setkey_principal4_2(setkey4_arg *argp, CLIENT *clnt)
+enum clnt_stat
+setkey_principal4_2(setkey4_arg *argp, generic_ret *res, CLIENT *clnt)
{
- static generic_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, SETKEY_PRINCIPAL4,
- (xdrproc_t)xdr_setkey4_arg, (caddr_t)argp,
- (xdrproc_t)xdr_generic_ret, (caddr_t)&clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return NULL;
- }
- return &clnt_res;
+ return clnt_call(clnt, SETKEY_PRINCIPAL4,
+ (xdrproc_t)xdr_setkey4_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
}
-chrand_ret *
-chrand_principal_2(chrand_arg *argp, CLIENT *clnt)
+enum clnt_stat
+chrand_principal_2(chrand_arg *argp, chrand_ret *res, CLIENT *clnt)
{
- static chrand_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, CHRAND_PRINCIPAL,
- (xdrproc_t) xdr_chrand_arg, (caddr_t) argp,
- (xdrproc_t) xdr_chrand_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, CHRAND_PRINCIPAL,
+ (xdrproc_t)xdr_chrand_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_chrand_ret, (caddr_t)res, TIMEOUT);
}
-chrand_ret *
-chrand_principal3_2(chrand3_arg *argp, CLIENT *clnt)
+enum clnt_stat
+chrand_principal3_2(chrand3_arg *argp, chrand_ret *res, CLIENT *clnt)
{
- static chrand_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, CHRAND_PRINCIPAL3,
- (xdrproc_t) xdr_chrand3_arg, (caddr_t) argp,
- (xdrproc_t) xdr_chrand_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, CHRAND_PRINCIPAL3,
+ (xdrproc_t)xdr_chrand3_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_chrand_ret, (caddr_t)res, TIMEOUT);
}
-generic_ret *
-create_policy_2(cpol_arg *argp, CLIENT *clnt)
+enum clnt_stat
+create_policy_2(cpol_arg *argp, generic_ret *res, CLIENT *clnt)
{
- static generic_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, CREATE_POLICY,
- (xdrproc_t) xdr_cpol_arg, (caddr_t) argp,
- (xdrproc_t) xdr_generic_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, CREATE_POLICY,
+ (xdrproc_t)xdr_cpol_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
}
-generic_ret *
-delete_policy_2(dpol_arg *argp, CLIENT *clnt)
+enum clnt_stat
+delete_policy_2(dpol_arg *argp, generic_ret *res, CLIENT *clnt)
{
- static generic_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, DELETE_POLICY,
- (xdrproc_t) xdr_dpol_arg, (caddr_t) argp,
- (xdrproc_t) xdr_generic_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, DELETE_POLICY,
+ (xdrproc_t)xdr_dpol_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
}
-generic_ret *
-modify_policy_2(mpol_arg *argp, CLIENT *clnt)
+enum clnt_stat
+modify_policy_2(mpol_arg *argp, generic_ret *res, CLIENT *clnt)
{
- static generic_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, MODIFY_POLICY,
- (xdrproc_t) xdr_mpol_arg, (caddr_t) argp,
- (xdrproc_t) xdr_generic_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, MODIFY_POLICY,
+ (xdrproc_t)xdr_mpol_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
}
-gpol_ret *
-get_policy_2(gpol_arg *argp, CLIENT *clnt)
+enum clnt_stat
+get_policy_2(gpol_arg *argp, gpol_ret *res, CLIENT *clnt)
{
- static gpol_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, GET_POLICY,
- (xdrproc_t) xdr_gpol_arg, (caddr_t) argp,
- (xdrproc_t) xdr_gpol_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, GET_POLICY,
+ (xdrproc_t)xdr_gpol_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_gpol_ret, (caddr_t)res, TIMEOUT);
}
-gpols_ret *
-get_pols_2(gpols_arg *argp, CLIENT *clnt)
+enum clnt_stat
+get_pols_2(gpols_arg *argp, gpols_ret *res, CLIENT *clnt)
{
- static gpols_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, GET_POLS,
- (xdrproc_t) xdr_gpols_arg, (caddr_t) argp,
- (xdrproc_t) xdr_gpols_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, GET_POLS,
+ (xdrproc_t)xdr_gpols_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_gpols_ret, (caddr_t)res, TIMEOUT);
}
-getprivs_ret *
-get_privs_2(void *argp, CLIENT *clnt)
+enum clnt_stat
+get_privs_2(void *argp, getprivs_ret *res, CLIENT *clnt)
{
- static getprivs_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, GET_PRIVS,
- (xdrproc_t) xdr_u_int32, (caddr_t) argp,
- (xdrproc_t) xdr_getprivs_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, GET_PRIVS,
+ (xdrproc_t)xdr_u_int32, (caddr_t)argp,
+ (xdrproc_t)xdr_getprivs_ret, (caddr_t)res, TIMEOUT);
}
-generic_ret *
-init_2(void *argp, CLIENT *clnt)
+enum clnt_stat
+init_2(void *argp, generic_ret *res, CLIENT *clnt)
{
- static generic_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, INIT,
- (xdrproc_t) xdr_u_int32, (caddr_t) argp,
- (xdrproc_t) xdr_generic_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, INIT,
+ (xdrproc_t)xdr_u_int32, (caddr_t)argp,
+ (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
}
-generic_ret *
-purgekeys_2(purgekeys_arg *argp, CLIENT *clnt)
+enum clnt_stat
+purgekeys_2(purgekeys_arg *argp, generic_ret *res, CLIENT *clnt)
{
- static generic_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, PURGEKEYS,
- (xdrproc_t) xdr_purgekeys_arg, (caddr_t) argp,
- (xdrproc_t) xdr_generic_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, PURGEKEYS,
+ (xdrproc_t)xdr_purgekeys_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
}
-gstrings_ret *
-get_strings_2(gstrings_arg *argp, CLIENT *clnt)
+enum clnt_stat
+get_strings_2(gstrings_arg *argp, gstrings_ret *res, CLIENT *clnt)
{
- static gstrings_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, GET_STRINGS,
- (xdrproc_t) xdr_gstrings_arg, (caddr_t) argp,
- (xdrproc_t) xdr_gstrings_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, GET_STRINGS,
+ (xdrproc_t)xdr_gstrings_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_gstrings_ret, (caddr_t)res, TIMEOUT);
}
-generic_ret *
-set_string_2(sstring_arg *argp, CLIENT *clnt)
+enum clnt_stat
+set_string_2(sstring_arg *argp, generic_ret *res, CLIENT *clnt)
{
- static generic_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, SET_STRING,
- (xdrproc_t) xdr_sstring_arg, (caddr_t) argp,
- (xdrproc_t) xdr_generic_ret, (caddr_t) &clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return (NULL);
- }
- return (&clnt_res);
+ return clnt_call(clnt, SET_STRING,
+ (xdrproc_t)xdr_sstring_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_generic_ret, (caddr_t)res, TIMEOUT);
}
-getpkeys_ret *
-get_principal_keys_2(getpkeys_arg *argp, CLIENT *clnt)
+enum clnt_stat
+get_principal_keys_2(getpkeys_arg *argp, getpkeys_ret *res, CLIENT *clnt)
{
- static getpkeys_ret clnt_res;
-
- memset(&clnt_res, 0, sizeof(clnt_res));
- if (clnt_call(clnt, EXTRACT_KEYS,
- (xdrproc_t)xdr_getpkeys_arg, (caddr_t)argp,
- (xdrproc_t)xdr_getpkeys_ret, (caddr_t)&clnt_res,
- TIMEOUT) != RPC_SUCCESS) {
- return NULL;
- }
- return &clnt_res;
+ return clnt_call(clnt, EXTRACT_KEYS,
+ (xdrproc_t)xdr_getpkeys_arg, (caddr_t)argp,
+ (xdrproc_t)xdr_getpkeys_ret, (caddr_t)res, TIMEOUT);
}
#define KADM 2112
#define KADMVERS 2
#define CREATE_PRINCIPAL 1
-extern generic_ret * create_principal_2(cprinc_arg *, CLIENT *);
+extern enum clnt_stat create_principal_2(cprinc_arg *, generic_ret *,
+ CLIENT *);
extern generic_ret * create_principal_2_svc(cprinc_arg *, struct svc_req *);
#define DELETE_PRINCIPAL 2
-extern generic_ret * delete_principal_2(dprinc_arg *, CLIENT *);
+extern enum clnt_stat delete_principal_2(dprinc_arg *, generic_ret *,
+ CLIENT *);
extern generic_ret * delete_principal_2_svc(dprinc_arg *, struct svc_req *);
#define MODIFY_PRINCIPAL 3
-extern generic_ret * modify_principal_2(mprinc_arg *, CLIENT *);
+extern enum clnt_stat modify_principal_2(mprinc_arg *, generic_ret *,
+ CLIENT *);
extern generic_ret * modify_principal_2_svc(mprinc_arg *, struct svc_req *);
#define RENAME_PRINCIPAL 4
-extern generic_ret * rename_principal_2(rprinc_arg *, CLIENT *);
+extern enum clnt_stat rename_principal_2(rprinc_arg *, generic_ret *,
+ CLIENT *);
extern generic_ret * rename_principal_2_svc(rprinc_arg *, struct svc_req *);
#define GET_PRINCIPAL 5
-extern gprinc_ret * get_principal_2(gprinc_arg *, CLIENT *);
+extern enum clnt_stat get_principal_2(gprinc_arg *, gprinc_ret *, CLIENT *);
extern gprinc_ret * get_principal_2_svc(gprinc_arg *, struct svc_req *);
#define CHPASS_PRINCIPAL 6
-extern generic_ret * chpass_principal_2(chpass_arg *, CLIENT *);
+extern enum clnt_stat chpass_principal_2(chpass_arg *, generic_ret *,
+ CLIENT *);
extern generic_ret * chpass_principal_2_svc(chpass_arg *, struct svc_req *);
#define CHRAND_PRINCIPAL 7
-extern chrand_ret * chrand_principal_2(chrand_arg *, CLIENT *);
+extern enum clnt_stat chrand_principal_2(chrand_arg *, chrand_ret *,
+ CLIENT *);
extern chrand_ret * chrand_principal_2_svc(chrand_arg *, struct svc_req *);
#define CREATE_POLICY 8
-extern generic_ret * create_policy_2(cpol_arg *, CLIENT *);
+extern enum clnt_stat create_policy_2(cpol_arg *, generic_ret *, CLIENT *);
extern generic_ret * create_policy_2_svc(cpol_arg *, struct svc_req *);
#define DELETE_POLICY 9
-extern generic_ret * delete_policy_2(dpol_arg *, CLIENT *);
+extern enum clnt_stat delete_policy_2(dpol_arg *, generic_ret *, CLIENT *);
extern generic_ret * delete_policy_2_svc(dpol_arg *, struct svc_req *);
#define MODIFY_POLICY 10
-extern generic_ret * modify_policy_2(mpol_arg *, CLIENT *);
+extern enum clnt_stat modify_policy_2(mpol_arg *, generic_ret *, CLIENT *);
extern generic_ret * modify_policy_2_svc(mpol_arg *, struct svc_req *);
#define GET_POLICY 11
-extern gpol_ret * get_policy_2(gpol_arg *, CLIENT *);
+extern enum clnt_stat get_policy_2(gpol_arg *, gpol_ret *, CLIENT *);
extern gpol_ret * get_policy_2_svc(gpol_arg *, struct svc_req *);
#define GET_PRIVS 12
-extern getprivs_ret * get_privs_2(void *, CLIENT *);
+extern enum clnt_stat get_privs_2(void *, getprivs_ret *, CLIENT *);
extern getprivs_ret * get_privs_2_svc(krb5_ui_4 *, struct svc_req *);
#define INIT 13
-extern generic_ret * init_2(void *, CLIENT *);
+extern enum clnt_stat init_2(void *, generic_ret *, CLIENT *);
extern generic_ret * init_2_svc(krb5_ui_4 *, struct svc_req *);
#define GET_PRINCS 14
-extern gprincs_ret * get_princs_2(gprincs_arg *, CLIENT *);
+extern enum clnt_stat get_princs_2(gprincs_arg *, gprincs_ret *, CLIENT *);
extern gprincs_ret * get_princs_2_svc(gprincs_arg *, struct svc_req *);
#define GET_POLS 15
-extern gpols_ret * get_pols_2(gpols_arg *, CLIENT *);
+extern enum clnt_stat get_pols_2(gpols_arg *, gpols_ret *, CLIENT *);
extern gpols_ret * get_pols_2_svc(gpols_arg *, struct svc_req *);
#define SETKEY_PRINCIPAL 16
-extern generic_ret * setkey_principal_2(setkey_arg *, CLIENT *);
+extern enum clnt_stat setkey_principal_2(setkey_arg *, generic_ret *,
+ CLIENT *);
extern generic_ret * setkey_principal_2_svc(setkey_arg *, struct svc_req *);
#define SETV4KEY_PRINCIPAL 17
-extern generic_ret * setv4key_principal_2(setv4key_arg *, CLIENT *);
+extern enum clnt_stat setv4key_principal_2(setv4key_arg *, generic_ret *,
+ CLIENT *);
extern generic_ret * setv4key_principal_2_svc(setv4key_arg *, struct svc_req *);
#define CREATE_PRINCIPAL3 18
-extern generic_ret * create_principal3_2(cprinc3_arg *, CLIENT *);
+extern enum clnt_stat create_principal3_2(cprinc3_arg *, generic_ret *,
+ CLIENT *);
extern generic_ret * create_principal3_2_svc(cprinc3_arg *, struct svc_req *);
#define CHPASS_PRINCIPAL3 19
-extern generic_ret * chpass_principal3_2(chpass3_arg *, CLIENT *);
+extern enum clnt_stat chpass_principal3_2(chpass3_arg *, generic_ret *,
+ CLIENT *);
extern generic_ret * chpass_principal3_2_svc(chpass3_arg *, struct svc_req *);
#define CHRAND_PRINCIPAL3 20
-extern chrand_ret * chrand_principal3_2(chrand3_arg *, CLIENT *);
+extern enum clnt_stat chrand_principal3_2(chrand3_arg *, chrand_ret *,
+ CLIENT *);
extern chrand_ret * chrand_principal3_2_svc(chrand3_arg *, struct svc_req *);
#define SETKEY_PRINCIPAL3 21
-extern generic_ret * setkey_principal3_2(setkey3_arg *, CLIENT *);
+extern enum clnt_stat setkey_principal3_2(setkey3_arg *, generic_ret *,
+ CLIENT *);
extern generic_ret * setkey_principal3_2_svc(setkey3_arg *, struct svc_req *);
#define PURGEKEYS 22
-extern generic_ret * purgekeys_2(purgekeys_arg *, CLIENT *);
+extern enum clnt_stat purgekeys_2(purgekeys_arg *, generic_ret *, CLIENT *);
extern generic_ret * purgekeys_2_svc(purgekeys_arg *, struct svc_req *);
#define GET_STRINGS 23
-extern gstrings_ret * get_strings_2(gstrings_arg *, CLIENT *);
+extern enum clnt_stat get_strings_2(gstrings_arg *, gstrings_ret *, CLIENT *);
extern gstrings_ret * get_strings_2_svc(gstrings_arg *, struct svc_req *);
#define SET_STRING 24
-extern generic_ret * set_string_2(sstring_arg *, CLIENT *);
+extern enum clnt_stat set_string_2(sstring_arg *, generic_ret *, CLIENT *);
extern generic_ret * set_string_2_svc(sstring_arg *, struct svc_req *);
#define SETKEY_PRINCIPAL4 25
-extern generic_ret * setkey_principal4_2(setkey4_arg *, CLIENT *);
+extern enum clnt_stat setkey_principal4_2(setkey4_arg *, generic_ret *,
+ CLIENT *);
extern generic_ret * setkey_principal4_2_svc(setkey4_arg *, struct svc_req *);
#define EXTRACT_KEYS 26
-extern getpkeys_ret * get_principal_keys_2(getpkeys_arg *, CLIENT *);
+extern enum clnt_stat get_principal_keys_2(getpkeys_arg *, getpkeys_ret *,
+ CLIENT *);
extern getpkeys_ret * get_principal_keys_2_svc(getpkeys_arg *, struct svc_req *);
extern bool_t xdr_cprinc_arg ();