From 5021c1b2c2c1e39309b8a45247bb68ed6443f91c Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Tue, 7 May 2002 09:21:06 +0000 Subject: [PATCH] add command line switch for extra addresses git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@10971 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kuser/kinit.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/kuser/kinit.c b/kuser/kinit.c index 7930521db..55af0a770 100644 --- a/kuser/kinit.c +++ b/kuser/kinit.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997-2001 Kungliga Tekniska Högskolan + * Copyright (c) 1997-2002 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). * All rights reserved. * @@ -42,6 +42,7 @@ int validate_flag = 0; int version_flag = 0; int help_flag = 0; int addrs_flag = 1; +struct getarg_strings extra_addresses; int anonymous_flag = 0; char *lifetime = NULL; char *renew_life = NULL; @@ -114,6 +115,9 @@ static struct getargs args[] = { { "addresses", 0, arg_negative_flag, &addrs_flag, "request a ticket with no addresses" }, + { "extra-addresses",'a', arg_strings, &extra_addresses, + "include these extra addresses", "addresses" }, + { "anonymous", 0, arg_flag, &anonymous_flag, "request an anonymous ticket" }, @@ -628,6 +632,24 @@ main (int argc, char **argv) "afslog", TRUE, &do_afslog); #endif + if(!addrs_flag && extra_addresses.num_strings > 0) + krb5_errx(context, 1, "specifying both extra addresses and " + "no addresses makes no sense"); + { + int i; + krb5_addresses addresses; + memset(&addresses, 0, sizeof(addresses)); + for(i = 0; i < extra_addresses.num_strings; i++) { + ret = krb5_parse_address(context, extra_addresses.strings[i], + &addresses); + if (ret == 0) { + krb5_add_extra_addresses(context, &addresses); + krb5_free_addresses(context, &addresses); + } + } + free_getarg_strings(&extra_addresses); + } + if(renew_flag || validate_flag) { ret = renew_validate(context, renew_flag, validate_flag,