{
int i;
struct options *opts;
+ const char *p;
+ int unit;
opts = malloc(sizeof(*opts));
memset(opts, 0, sizeof(*opts));
opts->instance = strdup(argv[i] + 9);
if(!strncmp(argv[i], "keytab=", 7))
opts->keytab = strdup(argv[i] + 7);
- if(!strncmp(argv[i], "renew=", 6))
- opts->renewable = atoi(argv[i] + 6);
+ if(!strncmp(argv[i], "renew=", 6)) {
+ p = argv[i] + strlen(argv[i]) - 1;
+ unit = 1;
+ if((*p >= 'a') && (*p <= 'z')) {
+ if(*p == 'm')
+ unit = 60;
+ else if(*p == 'h')
+ unit = 3600;
+ else if(*p == 'd')
+ unit = 86400;
+ else
+ unit = 1;
+ }
+ opts->renewable = atoi(argv[i] + 6) * unit;
+ }
if(!strcmp(argv[i], "forwardable"))
opts->forwardable = 1;
if(!strcmp(argv[i], "debug"))