implement init_with_{skey,creds}*

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4906 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1998-05-23 02:56:05 +00:00
parent 830aceeaca
commit f9deced68f

View File

@@ -40,15 +40,14 @@
RCSID("$Id$"); RCSID("$Id$");
kadm5_ret_t static kadm5_ret_t
kadm5_s_init_with_password_ctx(krb5_context context, kadm5_s_init_with_context(krb5_context context,
char *client_name, const char *client_name,
char *pass, const char *service_name,
char *service_name, kadm5_config_params *realm_params,
kadm5_config_params *realm_params, unsigned long struct_version,
unsigned long struct_version, unsigned long api_version,
unsigned long api_version, void **server_handle)
void **server_handle)
{ {
kadm5_ret_t ret; kadm5_ret_t ret;
kadm5_server_context *ctx; kadm5_server_context *ctx;
@@ -93,9 +92,28 @@ kadm5_s_init_with_password_ctx(krb5_context context,
} }
kadm5_ret_t kadm5_ret_t
kadm5_s_init_with_password(char *client_name, kadm5_s_init_with_password_ctx(krb5_context context,
char *pass, const char *client_name,
char *service_name, const char *password,
const char *service_name,
kadm5_config_params *realm_params,
unsigned long struct_version,
unsigned long api_version,
void **server_handle)
{
return kadm5_s_init_with_context(context,
client_name,
service_name,
realm_params,
struct_version,
api_version,
server_handle);
}
kadm5_ret_t
kadm5_s_init_with_password(const char *client_name,
const char *password,
const char *service_name,
kadm5_config_params *realm_params, kadm5_config_params *realm_params,
unsigned long struct_version, unsigned long struct_version,
unsigned long api_version, unsigned long api_version,
@@ -108,7 +126,7 @@ kadm5_s_init_with_password(char *client_name,
krb5_init_context(&context); krb5_init_context(&context);
ret = kadm5_s_init_with_password_ctx(context, ret = kadm5_s_init_with_password_ctx(context,
client_name, client_name,
pass, password,
service_name, service_name,
realm_params, realm_params,
struct_version, struct_version,
@@ -123,37 +141,102 @@ kadm5_s_init_with_password(char *client_name,
return 0; return 0;
} }
#if 0
kadm5_ret_t kadm5_ret_t
kadm5_init_with_skey(char *client_name, char *keytab, kadm5_s_init_with_skey_ctx(krb5_context context,
char *service_name, const char *client_name,
kadm5_config_params *realm_params, const char *keytab,
unsigned long struct_version, const char *service_name,
unsigned long api_version, kadm5_config_params *realm_params,
void **server_handle) unsigned long struct_version,
unsigned long api_version,
void **server_handle)
{ {
return kadm5_s_init_with_context(context,
client_name,
service_name,
realm_params,
struct_version,
api_version,
server_handle);
} }
kadm5_ret_t kadm5_ret_t
kadm5_init(char *client_name, char *pass, kadm5_s_init_with_skey(const char *client_name,
char *service_name, const char *keytab,
kadm5_config_params *realm_params, const char *service_name,
unsigned long struct_version, kadm5_config_params *realm_params,
unsigned long api_version, unsigned long struct_version,
void **server_handle) unsigned long api_version,
void **server_handle)
{ {
krb5_context context;
kadm5_ret_t ret;
kadm5_server_context *ctx;
krb5_init_context(&context);
ret = kadm5_s_init_with_skey_ctx(context,
client_name,
keytab,
service_name,
realm_params,
struct_version,
api_version,
server_handle);
if(ret){
krb5_free_context(context);
return ret;
}
ctx = *server_handle;
ctx->my_context = 1;
return 0;
} }
kadm5_ret_t kadm5_ret_t
kadm5_init_with_creds(char *client_name, kadm5_s_init_with_creds_ctx(krb5_context context,
krb5_ccache ccache, const char *client_name,
char *service_name, krb5_ccache ccache,
kadm5_config_params *params, const char *service_name,
krb5_ui_4 struct_version, kadm5_config_params *realm_params,
krb5_ui_4 api_version, unsigned long struct_version,
void **server_handle) unsigned long api_version,
void **server_handle)
{ {
return kadm5_s_init_with_context(context,
client_name,
service_name,
realm_params,
struct_version,
api_version,
server_handle);
} }
kadm5_ret_t
kadm5_s_init_with_creds(const char *client_name,
krb5_ccache ccache,
const char *service_name,
kadm5_config_params *realm_params,
unsigned long struct_version,
unsigned long api_version,
void **server_handle)
{
krb5_context context;
kadm5_ret_t ret;
kadm5_server_context *ctx;
#endif krb5_init_context(&context);
ret = kadm5_s_init_with_creds_ctx(context,
client_name,
ccache,
service_name,
realm_params,
struct_version,
api_version,
server_handle);
if(ret){
krb5_free_context(context);
return ret;
}
ctx = *server_handle;
ctx->my_context = 1;
return 0;
}