From 957cd47a28b9380e548c80019c3bb7645a548056 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Sat, 30 Jan 1999 12:48:55 +0000 Subject: [PATCH] allow specification of port number. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@5285 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kadmin/kadmin.c | 12 +++++++++++- lib/kadm5/init_c.c | 7 ++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/kadmin/kadmin.c b/kadmin/kadmin.c index fd683b7a8..eca2c88ab 100644 --- a/kadmin/kadmin.c +++ b/kadmin/kadmin.c @@ -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). * All rights reserved. * @@ -48,6 +48,7 @@ static int help_flag; static int version_flag; static char *realm; static char *admin_server; +static int server_port = 0; static char *client_name; static struct getargs args[] = { @@ -69,6 +70,10 @@ static struct getargs args[] = { "admin-server", 'a', arg_string, &admin_server, "server to contact", "host" }, + { + "server-port", 's', arg_integer, &server_port, + "server to contact", "host" + }, { "local", 'l', arg_flag, &local_flag, "local admin mode" }, { "help", 'h', arg_flag, &help_flag }, { "version", 'v', arg_flag, &version_flag } @@ -236,6 +241,11 @@ main(int argc, char **argv) conf.mask |= KADM5_CONFIG_ADMIN_SERVER; } + if (server_port) { + conf.kadmind_port = htons(server_port); + conf.mask |= KADM5_CONFIG_KADMIND_PORT; + } + if(local_flag){ ret = kadm5_s_init_with_password_ctx(context, KADM5_ADMIN_SERVICE, diff --git a/lib/kadm5/init_c.c b/lib/kadm5/init_c.c index c65127619..5d0d45335 100644 --- a/lib/kadm5/init_c.c +++ b/lib/kadm5/init_c.c @@ -78,6 +78,11 @@ _kadm5_c_init_context(kadm5_client_context **ctx, (*ctx)->realm = strdup(params->realm); else 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) (*ctx)->admin_server = strdup(params->admin_server); else{ @@ -289,7 +294,7 @@ kadm5_c_init_with_context(krb5_context context, return KADM5_FAILURE; memset(&sin, 0, sizeof(sin)); 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); if(hp == NULL) return KADM5_BAD_SERVER_NAME;