Lines Matching defs:ipa_opts
38 #include "providers/ipa/ipa_opts.h"
171 int ipa_get_id_options(struct ipa_options *ipa_opts,
184 tmpctx = talloc_new(ipa_opts);
189 ipa_opts->id = talloc_zero(ipa_opts, struct sdap_options);
190 if (!ipa_opts->id) {
194 ipa_opts->id->dp = dp;
196 ret = sdap_domain_add(ipa_opts->id,
197 ipa_opts->id_ctx->sdap_id_ctx->be->domain,
204 ret = dp_get_options(ipa_opts->id, cdb, conf_path,
207 &ipa_opts->id->basic);
213 dp_opt_get_string(ipa_opts->basic, IPA_KRB5_REALM),
219 if (NULL == dp_opt_get_string(ipa_opts->id->basic, SDAP_SEARCH_BASE)) {
227 ret = dp_opt_set_string(ipa_opts->id->basic,
234 ipa_opts->id->basic[SDAP_SEARCH_BASE].opt_name,
235 dp_opt_get_string(ipa_opts->id->basic, SDAP_SEARCH_BASE));
237 ret = sdap_parse_search_base(ipa_opts->id, ipa_opts->id->basic,
239 &ipa_opts->id->sdom->search_bases);
243 if (NULL == dp_opt_get_string(ipa_opts->id->basic, SDAP_KRB5_REALM)) {
244 realm = dp_opt_get_string(ipa_opts->basic, IPA_KRB5_REALM);
251 ret = dp_opt_set_string(ipa_opts->id->basic,
257 ipa_opts->id->basic[SDAP_KRB5_REALM].opt_name,
258 dp_opt_get_string(ipa_opts->id->basic, SDAP_KRB5_REALM));
261 ret = sdap_set_sasl_options(ipa_opts->id,
262 dp_opt_get_string(ipa_opts->basic,
264 dp_opt_get_string(ipa_opts->id->basic,
266 dp_opt_get_string(ipa_opts->id->basic,
274 ipa_opts->id->schema_type = SDAP_SCHEMA_IPA_V1;
277 if (NULL == dp_opt_get_string(ipa_opts->id->basic,
279 ret = dp_opt_set_string(ipa_opts->id->basic, SDAP_USER_SEARCH_BASE,
280 dp_opt_get_string(ipa_opts->id->basic,
287 ipa_opts->id->basic[SDAP_USER_SEARCH_BASE].opt_name,
288 dp_opt_get_string(ipa_opts->id->basic,
291 ret = sdap_parse_search_base(ipa_opts->id, ipa_opts->id->basic,
293 &ipa_opts->id->sdom->user_search_bases);
296 if (NULL == dp_opt_get_string(ipa_opts->id->basic,
298 ret = dp_opt_set_string(ipa_opts->id->basic, SDAP_GROUP_SEARCH_BASE,
299 dp_opt_get_string(ipa_opts->id->basic,
306 ipa_opts->id->basic[SDAP_GROUP_SEARCH_BASE].opt_name,
307 dp_opt_get_string(ipa_opts->id->basic,
310 ret = sdap_parse_search_base(ipa_opts->id, ipa_opts->id->basic,
312 &ipa_opts->id->sdom->group_search_bases);
315 if (NULL == dp_opt_get_string(ipa_opts->id->basic,
322 ret = dp_opt_set_string(ipa_opts->id->basic, SDAP_NETGROUP_SEARCH_BASE,
329 ipa_opts->id->basic[SDAP_NETGROUP_SEARCH_BASE].opt_name,
330 dp_opt_get_string(ipa_opts->id->basic,
333 ret = sdap_parse_search_base(ipa_opts->id, ipa_opts->id->basic,
335 &ipa_opts->id->sdom->netgroup_search_bases);
338 if (NULL == dp_opt_get_string(ipa_opts->id->basic,
341 value = dp_opt_get_string(ipa_opts->basic, IPA_HOST_SEARCH_BASE);
343 value = dp_opt_get_string(ipa_opts->id->basic, SDAP_SEARCH_BASE);
346 ret = dp_opt_set_string(ipa_opts->id->basic, SDAP_HOST_SEARCH_BASE,
353 ipa_opts->id->basic[SDAP_HOST_SEARCH_BASE].opt_name,
356 ret = sdap_parse_search_base(ipa_opts->id->basic, ipa_opts->id->basic,
358 &ipa_opts->id->sdom->host_search_bases);
361 if (NULL == dp_opt_get_string(ipa_opts->basic,
369 ret = dp_opt_set_string(ipa_opts->basic, IPA_HBAC_SEARCH_BASE, value);
375 ipa_opts->basic[IPA_HBAC_SEARCH_BASE].opt_name,
376 dp_opt_get_string(ipa_opts->basic,
379 ret = ipa_parse_search_base(ipa_opts->basic, ipa_opts->basic,
381 &ipa_opts->hbac_search_bases);
384 if (NULL == dp_opt_get_string(ipa_opts->basic,
392 ret = dp_opt_set_string(ipa_opts->basic, IPA_SELINUX_SEARCH_BASE, value);
398 ipa_opts->basic[IPA_SELINUX_SEARCH_BASE].opt_name,
399 dp_opt_get_string(ipa_opts->basic,
402 ret = ipa_parse_search_base(ipa_opts->basic, ipa_opts->basic,
404 &ipa_opts->selinux_search_bases);
407 if (NULL == dp_opt_get_string(ipa_opts->basic,
415 ret = dp_opt_set_string(ipa_opts->basic, IPA_DESKPROFILE_SEARCH_BASE, value);
421 ipa_opts->basic[IPA_DESKPROFILE_SEARCH_BASE].opt_name,
422 dp_opt_get_string(ipa_opts->basic,
425 ret = ipa_parse_search_base(ipa_opts->basic, ipa_opts->basic,
427 &ipa_opts->deskprofile_search_bases);
430 value = dp_opt_get_string(ipa_opts->id->basic, SDAP_DEREF);
439 if (NULL == dp_opt_get_string(ipa_opts->id->basic,
441 ret = dp_opt_set_string(ipa_opts->id->basic, SDAP_SERVICE_SEARCH_BASE,
442 dp_opt_get_string(ipa_opts->id->basic,
449 ipa_opts->id->basic[SDAP_GROUP_SEARCH_BASE].opt_name,
450 dp_opt_get_string(ipa_opts->id->basic,
453 ret = sdap_parse_search_base(ipa_opts->id, ipa_opts->id->basic,
455 &ipa_opts->id->sdom->service_search_bases);
458 if (NULL == dp_opt_get_string(ipa_opts->basic,
466 ret = dp_opt_set_string(ipa_opts->basic, IPA_SUBDOMAINS_SEARCH_BASE, value);
472 ipa_opts->basic[IPA_SUBDOMAINS_SEARCH_BASE].opt_name,
473 dp_opt_get_string(ipa_opts->basic,
476 ret = ipa_parse_search_base(ipa_opts, ipa_opts->basic,
478 &ipa_opts->subdomains_search_bases);
481 if (NULL == dp_opt_get_string(ipa_opts->basic,
489 ret = dp_opt_set_string(ipa_opts->basic, IPA_MASTER_DOMAIN_SEARCH_BASE, value);
495 ipa_opts->basic[IPA_MASTER_DOMAIN_SEARCH_BASE].opt_name,
496 dp_opt_get_string(ipa_opts->basic,
499 ret = ipa_parse_search_base(ipa_opts, ipa_opts->basic,
501 &ipa_opts->master_domain_search_bases);
504 if (NULL == dp_opt_get_string(ipa_opts->basic,
512 ret = dp_opt_set_string(ipa_opts->basic, IPA_RANGES_SEARCH_BASE, value);
518 ipa_opts->basic[IPA_RANGES_SEARCH_BASE].opt_name,
519 dp_opt_get_string(ipa_opts->basic,
522 ret = ipa_parse_search_base(ipa_opts, ipa_opts->basic,
524 &ipa_opts->ranges_search_bases);
527 if (NULL == dp_opt_get_string(ipa_opts->basic,
535 ret = dp_opt_set_string(ipa_opts->basic, IPA_VIEWS_SEARCH_BASE, value);
541 ipa_opts->basic[IPA_VIEWS_SEARCH_BASE].opt_name,
542 dp_opt_get_string(ipa_opts->basic,
545 ret = ipa_parse_search_base(ipa_opts, ipa_opts->basic,
547 &ipa_opts->views_search_bases);
550 ret = sdap_get_map(ipa_opts->id, cdb, conf_path,
553 &ipa_opts->id->gen_map);
558 ret = sdap_get_map(ipa_opts->id,
562 &ipa_opts->id->user_map);
567 ret = sdap_extend_map_with_list(ipa_opts->id, ipa_opts->id,
569 ipa_opts->id->user_map,
571 &ipa_opts->id->user_map,
572 &ipa_opts->id->user_map_cnt);
577 ret = sdap_get_map(ipa_opts->id,
581 &ipa_opts->id->group_map);
586 ret = sdap_get_map(ipa_opts->id,
590 &ipa_opts->id->netgroup_map);
595 ret = sdap_get_map(ipa_opts->id,
599 &ipa_opts->id->host_map);
604 ret = sdap_get_map(ipa_opts->id,
608 &ipa_opts->hostgroup_map);
613 ret = sdap_get_map(ipa_opts->id,
617 &ipa_opts->id->service_map);
622 ret = sdap_get_map(ipa_opts->id,
626 &ipa_opts->selinuxuser_map);
631 ret = sdap_get_map(ipa_opts->id,
635 &ipa_opts->view_map);
640 ret = sdap_get_map(ipa_opts->id,
644 &ipa_opts->override_map);
650 *_opts = ipa_opts->id;
655 talloc_zfree(ipa_opts->id);
660 int ipa_get_auth_options(struct ipa_options *ipa_opts,
669 ipa_opts->auth = talloc_zero(ipa_opts, struct dp_option);
670 if (ipa_opts->auth == NULL) {
676 ret = dp_get_options(ipa_opts, cdb, conf_path,
678 KRB5_OPTS, &ipa_opts->auth);
685 ret = krb5_try_kdcip(cdb, conf_path, ipa_opts->auth, KRB5_KDC);
692 if (NULL == dp_opt_get_string(ipa_opts->auth, KRB5_REALM)) {
693 value = dp_opt_get_string(ipa_opts->basic, IPA_KRB5_REALM);
698 copy = talloc_strdup(ipa_opts->auth, value);
704 ret = dp_opt_set_string(ipa_opts->auth, KRB5_REALM, copy);
709 ipa_opts->auth[KRB5_REALM].opt_name,
710 dp_opt_get_string(ipa_opts->auth, KRB5_REALM));
716 value = dp_opt_get_string(ipa_opts->auth, KRB5_FAST_PRINCIPAL);
718 value = talloc_asprintf(ipa_opts->auth, "host/%s@%s",
719 dp_opt_get_string(ipa_opts->basic,
721 dp_opt_get_string(ipa_opts->auth,
725 ipa_opts->auth[KRB5_FAST_PRINCIPAL].opt_name);
730 ret = dp_opt_set_string(ipa_opts->auth, KRB5_FAST_PRINCIPAL,
734 ipa_opts->auth[KRB5_FAST_PRINCIPAL].opt_name);
739 ipa_opts->auth[KRB5_FAST_PRINCIPAL].opt_name, value);
745 ipa_opts->service->krb5_service->write_kdcinfo = \
746 dp_opt_get_bool(ipa_opts->auth, KRB5_USE_KDCINFO);
748 ipa_opts->auth[KRB5_USE_KDCINFO].opt_name,
749 ipa_opts->service->krb5_service->write_kdcinfo ? "true" : "false");
751 *_opts = ipa_opts->auth;
757 talloc_zfree(ipa_opts->auth);
1050 int ipa_get_autofs_options(struct ipa_options *ipa_opts,
1066 dp_opt_get_string(ipa_opts->basic, IPA_KRB5_REALM),
1072 if (NULL == dp_opt_get_string(ipa_opts->id->basic,
1076 dp_opt_get_string(ipa_opts->basic,
1084 ret = dp_opt_set_string(ipa_opts->id->basic,
1092 ipa_opts->id->basic[SDAP_AUTOFS_SEARCH_BASE].opt_name,
1093 dp_opt_get_string(ipa_opts->id->basic,
1097 ret = sdap_parse_search_base(ipa_opts->id, ipa_opts->id->basic,
1099 &ipa_opts->id->sdom->autofs_search_bases);
1105 ret = sdap_get_map(ipa_opts->id, cdb, conf_path,
1108 &ipa_opts->id->autofs_mobject_map);
1115 ret = sdap_get_map(ipa_opts->id, cdb, conf_path,
1118 &ipa_opts->id->autofs_entry_map);
1125 *_opts = ipa_opts->id;