• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/usr.sbin/ypldap/

Lines Matching defs:idm

52 int	client_build_req(struct idm *, struct idm_req *, struct aldap_message *,
54 int client_search_idm(struct env *, struct idm *, struct aldap *,
56 int client_try_idm(struct env *, struct idm *);
57 int client_addr_init(struct idm *);
58 int client_addr_free(struct idm *);
96 client_addr_init(struct idm *idm)
102 TAILQ_FOREACH(h, &idm->idm_addr, next) {
108 idm->idm_state = STATE_DNS_DONE;
114 idm->idm_state = STATE_DNS_DONE;
126 client_addr_free(struct idm *idm)
130 while (!TAILQ_EMPTY(&idm->idm_addr)) {
131 h = TAILQ_FIRST(&idm->idm_addr);
132 TAILQ_REMOVE(&idm->idm_addr, h, next);
160 struct idm *idm;
192 TAILQ_FOREACH(idm, &env->sc_idms, idm_entry)
193 if (idm->idm_id == imsg.hdr.peerid)
195 if (idm == NULL) {
199 if (!TAILQ_EMPTY(&idm->idm_addr)) {
206 idm->idm_state = STATE_DNS_TEMPFAIL;
215 TAILQ_INSERT_HEAD(&idm->idm_addr, h, next);
223 client_addr_init(idm);
232 TAILQ_FOREACH(idm, &env->sc_idms, idm_entry) {
233 if (client_try_idm(env, idm) == -1)
234 idm->idm_state = STATE_LDAP_FAIL;
236 if (idm->idm_state < STATE_LDAP_DONE)
304 struct idm *idm;
308 if ((idm = calloc(1, sizeof(*idm))) == NULL)
310 memcpy(idm, imsg.data, sizeof(*idm));
311 idm->idm_env = env;
312 TAILQ_INSERT_TAIL(&env->sc_idms, idm, idm_entry);
434 client_build_req(struct idm *idm, struct idm_req *ir, struct aldap_message *m,
442 if (idm->idm_flags & F_FIXED_ATTR(i)) {
443 if (strlcat(ir->ir_line, idm->idm_attrs[i],
452 idm->idm_attrs[i], 0,
456 idm->idm_attrs[i], 0,
459 } else if (idm->idm_list & F_LIST(i)) {
460 aldap_match_attr(m, idm->idm_attrs[i], &ldap_attrs);
476 if (aldap_match_attr(m, idm->idm_attrs[i], &ldap_attrs) == -1)
503 client_search_idm(struct env *env, struct idm *idm, struct aldap *al,
513 dn = idm->idm_basedn;
514 if (type == IMSG_GRP_ENTRY && idm->idm_groupdn[0] != '\0')
515 dn = idm->idm_groupdn;
549 if (client_build_req(idm, &ir, m, min_attr, max_attr) == 0)
569 client_try_idm(struct env *env, struct idm *idm)
578 if ((al = client_aldap_open(&idm->idm_addr)) == NULL)
581 if (idm->idm_flags & F_NEEDAUTH) {
583 if (aldap_bind(al, idm->idm_binddn, idm->idm_bindcred) == -1)
599 if (idm->idm_flags & F_FIXED_ATTR(i))
601 attrs[j++] = idm->idm_attrs[i];
610 if (client_search_idm(env, idm, al, attrs,
611 idm->idm_filters[FILTER_USER], 0, ATTR_MAX, IMSG_PW_ENTRY) == -1)
616 if (idm->idm_flags & F_FIXED_ATTR(i))
618 attrs[j++] = idm->idm_attrs[i];
627 if (client_search_idm(env, idm, al, attrs,
628 idm->idm_filters[FILTER_GROUP], ATTR_GR_MIN, ATTR_GR_MAX,
634 idm->idm_state = STATE_LDAP_DONE;
639 log_debug("directory %s errored out in %s", idm->idm_name, where);
648 struct idm *idm;
653 TAILQ_FOREACH(idm, &env->sc_idms, idm_entry) {
654 if (idm->idm_state < STATE_LDAP_DONE)
657 idm->idm_state = STATE_NONE;
659 client_addr_free(idm);
674 struct idm *idm;
682 TAILQ_FOREACH(idm, &env->sc_idms, idm_entry) {
683 dlen = strlen(idm->idm_name) + 1;
684 imsg_compose_event(env->sc_iev_dns, IMSG_HOST_DNS, idm->idm_id,
685 0, -1, idm->idm_name, dlen);