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:
Assar Westerlund
1999-01-30 12:48:55 +00:00
parent 3d0f6778b1
commit 957cd47a28
2 changed files with 17 additions and 2 deletions

View File

@@ -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,

View File

@@ -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;