add --keytab
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9006 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
		| @@ -38,12 +38,15 @@ RCSID("$Id$"); | |||||||
| static int help_flag; | static int help_flag; | ||||||
| static int version_flag; | static int version_flag; | ||||||
| static char *port_str; | static char *port_str; | ||||||
|  | static char *keytab_str; | ||||||
|  | krb5_keytab keytab; | ||||||
| char *service = SERVICE; | char *service = SERVICE; | ||||||
| int fork_flag; | int fork_flag; | ||||||
|  |  | ||||||
| static struct getargs args[] = { | static struct getargs args[] = { | ||||||
|     { "port", 'p', arg_string, &port_str, "port to listen to", "port" }, |     { "port", 'p', arg_string, &port_str, "port to listen to", "port" }, | ||||||
|     { "service", 's', arg_string, &service, "service to use", "service" }, |     { "service", 's', arg_string, &service, "service to use", "service" }, | ||||||
|  |     { "keytab", 'k', arg_string, &keytab_str, "keytab to use", "keytab" }, | ||||||
|     { "fork", 'f', arg_flag, &fork_flag, "do fork" }, |     { "fork", 'f', arg_flag, &fork_flag, "do fork" }, | ||||||
|     { "help", 'h', arg_flag, &help_flag }, |     { "help", 'h', arg_flag, &help_flag }, | ||||||
|     { "version", 0, arg_flag, &version_flag } |     { "version", 0, arg_flag, &version_flag } | ||||||
| @@ -104,8 +107,16 @@ int | |||||||
| server_setup(krb5_context *context, int argc, char **argv) | server_setup(krb5_context *context, int argc, char **argv) | ||||||
| { | { | ||||||
|     int port = common_setup(context, &argc, argv, server_usage); |     int port = common_setup(context, &argc, argv, server_usage); | ||||||
|  |     krb5_error_code ret; | ||||||
|  |  | ||||||
|     if(argv[argc] != NULL) |     if(argv[argc] != NULL) | ||||||
| 	server_usage(1, args, num_args); | 	server_usage(1, args, num_args); | ||||||
|  |     if (keytab_str != NULL) | ||||||
|  | 	ret = krb5_kt_resolve (*context, keytab_str, &keytab); | ||||||
|  |     else | ||||||
|  | 	ret = krb5_kt_default (*context, &keytab); | ||||||
|  |     if (ret) | ||||||
|  | 	krb5_err (*context, 1, ret, "krb5_kt_resolve/default"); | ||||||
|     return port; |     return port; | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Assar Westerlund
					Assar Westerlund