Lines Matching refs:opts

345 add_preauth_opt(struct k_opts *opts, char *av)  in add_preauth_opt()  argument
350 if (opts->num_pa_opts == 0) { in add_preauth_opt()
351 opts->pa_opts = malloc(sizeof(krb5_gic_opt_pa_data)); in add_preauth_opt()
352 if (opts->pa_opts == NULL) in add_preauth_opt()
355 size_t newsize = (opts->num_pa_opts + 1) * sizeof(krb5_gic_opt_pa_data); in add_preauth_opt()
356 x = realloc(opts->pa_opts, newsize); in add_preauth_opt()
359 opts->pa_opts = x; in add_preauth_opt()
361 p = &opts->pa_opts[opts->num_pa_opts]; in add_preauth_opt()
371 opts->num_pa_opts++; in add_preauth_opt()
376 parse_options(argc, argv, opts, progname) in parse_options() argument
379 struct k_opts* opts;
392 opts->verbose = 1;
396 code = krb5_string_to_deltat(optarg, &opts->lifetime);
397 if (code != 0 || opts->lifetime == 0) {
404 code = krb5_string_to_deltat(optarg, &opts->rlife);
405 if (code != 0 || opts->rlife == 0) {
411 opts->forwardable = 1;
414 opts->not_forwardable = 1;
417 opts->proxiable = 1;
420 opts->not_proxiable = 1;
424 opts->addresses = 1;
427 opts->no_addresses = 1;
430 code = krb5_string_to_deltat(optarg, &opts->starttime);
431 if (code != 0 || opts->starttime == 0) {
439 opts->starttime = abs_starttime - time(0);
444 opts->service_name = optarg;
447 opts->action = INIT_KT;
450 if (opts->keytab_name)
455 opts->keytab_name = optarg;
459 opts->action = RENEW;
462 opts->action = VALIDATE;
465 if (opts->k5_cache_name)
470 opts->k5_cache_name = optarg;
474 code = add_preauth_opt(opts, optarg);
487 if (opts->k4_cache_name)
492 opts->k4_cache_name = optarg;
522 if (opts->forwardable && opts->not_forwardable)
527 if (opts->proxiable && opts->not_proxiable)
532 if (opts->addresses && opts->no_addresses)
553 (opts->starttime || opts->rlife || opts->forwardable ||
554 opts->proxiable || opts->addresses || opts->not_forwardable ||
555 opts->not_proxiable || opts->no_addresses ||
556 (opts->action == VALIDATE) || opts->k5_cache_name))
562 opts->k4_cache_name)
573 && (opts->service_name || opts->keytab_name ||
574 (opts->action == INIT_KT) || (opts->action == RENEW))
588 opts->principal_name = (optind == argc-1) ? argv[optind] : 0;
589 return opts->principal_name;
593 k5_begin(opts, k5, k4) in k5_begin() argument
594 struct k_opts* opts; in k5_begin()
610 if (opts->k5_cache_name)
612 code = krb5_cc_resolve(k5->ctx, opts->k5_cache_name, &k5->cc);
615 opts->k5_cache_name);
627 if (opts->principal_name)
630 if ((code = krb5_parse_name(k5->ctx, opts->principal_name,
633 opts->principal_name);
640 if (opts->action == INIT_KT) {
687 opts->principal_name = k5->name;
722 k4_begin(opts, k4) in k4_begin() argument
723 struct k_opts* opts; in k4_begin()
738 if (opts->principal_name)
742 opts->principal_name);
751 if (opts->action == INIT_KT) {
788 opts->principal_name = k4->name;
854 k5_kinit(opts, k5) in k5_kinit() argument
855 struct k_opts* opts; in k5_kinit()
894 if (opts->lifetime == 0 || opts->rlife == 0) {
904 if (opts->lifetime == 0 && life_timeval != NULL) {
912 opts->lifetime = lifetime;
914 if (opts->rlife == 0 && renew_timeval != NULL) {
922 opts->rlife = rlife;
930 if (opts->lifetime == 0)
931 opts->lifetime = krb5_max_duration;
941 if (!opts->not_proxiable && proxiable_flag) {
944 if (!opts->not_forwardable && forwardable_flag) {
952 opts->rlife = opts->rlife ? opts->rlife : krb5_max_duration;
965 if (opts->lifetime)
966 krb5_get_init_creds_opt_set_tkt_life(options, opts->lifetime);
967 if (opts->rlife)
968 krb5_get_init_creds_opt_set_renew_life(options, opts->rlife);
969 if (opts->forwardable)
971 if (opts->not_forwardable)
973 if (opts->proxiable)
975 if (opts->not_proxiable)
977 if (opts->addresses)
987 if (opts->no_addresses)
990 if ((opts->action == INIT_KT) && opts->keytab_name)
992 code = krb5_kt_resolve(k5->ctx, opts->keytab_name, &keytab);
995 opts->keytab_name);
1000 for (i = 0; i < opts->num_pa_opts; i++) {
1002 opts->pa_opts[i].attr,
1003 opts->pa_opts[i].value);
1006 opts->pa_opts[i].attr, opts->pa_opts[i].value);
1011 switch (opts->action) {
1015 opts->starttime,
1016 opts->service_name,
1022 opts->starttime,
1023 opts->service_name,
1028 opts->service_name);
1032 opts->service_name);
1038 switch (opts->action) {
1066 if (!opts->lifetime) {
1068 opts->lifetime = my_creds.times.endtime - my_creds.times.authtime;
1074 opts->k5_cache_name?opts->k5_cache_name:"");
1084 if (opts->action == RENEW) {
1085 _kwarnd_del_warning(progname, opts->principal_name);
1086 _kwarnd_add_warning(progname, opts->principal_name, my_creds.times.endtime);
1087 } else if ((opts->action == INIT_KT) || (opts->action == INIT_PW)) {
1088 _kwarnd_add_warning(progname, opts->principal_name, my_creds.times.endtime);
1099 if (opts->pa_opts) {
1100 free(opts->pa_opts);
1101 opts->pa_opts = NULL;
1102 opts->num_pa_opts = 0;
1111 k4_kinit(opts, k4, ctx) in k4_kinit() argument
1112 struct k_opts* opts; in k4_kinit()
1124 if (opts->starttime)
1129 k4->lifetime = opts->lifetime;
1135 switch (opts->action)
1143 sprintf(prompt, gettext("Password for %s: "), opts->principal_name);
1155 opts->principal_name);
1303 struct k_opts opts; local
1340 memset(&opts, 0, sizeof(opts));
1341 opts.action = INIT_PW;
1348 parse_options(argc, argv, &opts, progname);
1350 got_k5 = k5_begin(&opts, &k5, &k4);
1351 got_k4 = k4_begin(&opts, &k4);
1353 authed_k5 = k5_kinit(&opts, &k5);
1359 authed_k4 = k4_kinit(&opts, &k4, k5.ctx);
1364 if (authed_k5 && opts.verbose)
1366 if (authed_k4 && opts.verbose)