allow specification of port number.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@5285 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 1998 Kungliga Tekniska H<>gskolan
|
* Copyright (c) 1997, 1998, 1999 Kungliga Tekniska H<>gskolan
|
||||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -48,6 +48,7 @@ static int help_flag;
|
|||||||
static int version_flag;
|
static int version_flag;
|
||||||
static char *realm;
|
static char *realm;
|
||||||
static char *admin_server;
|
static char *admin_server;
|
||||||
|
static int server_port = 0;
|
||||||
static char *client_name;
|
static char *client_name;
|
||||||
|
|
||||||
static struct getargs args[] = {
|
static struct getargs args[] = {
|
||||||
@@ -69,6 +70,10 @@ static struct getargs args[] = {
|
|||||||
"admin-server", 'a', arg_string, &admin_server,
|
"admin-server", 'a', arg_string, &admin_server,
|
||||||
"server to contact", "host"
|
"server to contact", "host"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"server-port", 's', arg_integer, &server_port,
|
||||||
|
"server to contact", "host"
|
||||||
|
},
|
||||||
{ "local", 'l', arg_flag, &local_flag, "local admin mode" },
|
{ "local", 'l', arg_flag, &local_flag, "local admin mode" },
|
||||||
{ "help", 'h', arg_flag, &help_flag },
|
{ "help", 'h', arg_flag, &help_flag },
|
||||||
{ "version", 'v', arg_flag, &version_flag }
|
{ "version", 'v', arg_flag, &version_flag }
|
||||||
@@ -236,6 +241,11 @@ main(int argc, char **argv)
|
|||||||
conf.mask |= KADM5_CONFIG_ADMIN_SERVER;
|
conf.mask |= KADM5_CONFIG_ADMIN_SERVER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (server_port) {
|
||||||
|
conf.kadmind_port = htons(server_port);
|
||||||
|
conf.mask |= KADM5_CONFIG_KADMIND_PORT;
|
||||||
|
}
|
||||||
|
|
||||||
if(local_flag){
|
if(local_flag){
|
||||||
ret = kadm5_s_init_with_password_ctx(context,
|
ret = kadm5_s_init_with_password_ctx(context,
|
||||||
KADM5_ADMIN_SERVICE,
|
KADM5_ADMIN_SERVICE,
|
||||||
|
@@ -78,6 +78,11 @@ _kadm5_c_init_context(kadm5_client_context **ctx,
|
|||||||
(*ctx)->realm = strdup(params->realm);
|
(*ctx)->realm = strdup(params->realm);
|
||||||
else
|
else
|
||||||
krb5_get_default_realm((*ctx)->context, &(*ctx)->realm);
|
krb5_get_default_realm((*ctx)->context, &(*ctx)->realm);
|
||||||
|
if(params->mask & KADM5_CONFIG_KADMIND_PORT)
|
||||||
|
(*ctx)->kadmind_port = params->kadmind_port;
|
||||||
|
else
|
||||||
|
(*ctx)->kadmind_port = krb5_getportbyname (context, "kerberos-adm",
|
||||||
|
"tcp", 749);
|
||||||
if(params->mask & KADM5_CONFIG_ADMIN_SERVER)
|
if(params->mask & KADM5_CONFIG_ADMIN_SERVER)
|
||||||
(*ctx)->admin_server = strdup(params->admin_server);
|
(*ctx)->admin_server = strdup(params->admin_server);
|
||||||
else{
|
else{
|
||||||
@@ -289,7 +294,7 @@ kadm5_c_init_with_context(krb5_context context,
|
|||||||
return KADM5_FAILURE;
|
return KADM5_FAILURE;
|
||||||
memset(&sin, 0, sizeof(sin));
|
memset(&sin, 0, sizeof(sin));
|
||||||
sin.sin_family = AF_INET;
|
sin.sin_family = AF_INET;
|
||||||
sin.sin_port = krb5_getportbyname (context, "kerberos-adm", "tcp", 749);
|
sin.sin_port = ctx->kadmind_port;
|
||||||
hp = gethostbyname(ctx->admin_server);
|
hp = gethostbyname(ctx->admin_server);
|
||||||
if(hp == NULL)
|
if(hp == NULL)
|
||||||
return KADM5_BAD_SERVER_NAME;
|
return KADM5_BAD_SERVER_NAME;
|
||||||
|
Reference in New Issue
Block a user