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
	 Assar Westerlund
					Assar Westerlund