Lines Matching refs:sub

91     uint32_t sub, uint32_t iidx __unused, enum snmp_op op)
97 if (val->var.subs[sub - 1] != LEAF_vacmContextName)
102 if ((vacm_ctx = vacm_get_context(&val->var, sub)) == NULL)
107 if ((vacm_ctx = vacm_get_next_context(&val->var, sub)) == NULL)
109 vacm_append_ctxindex(&val->var, sub, vacm_ctx);
113 if ((vacm_ctx = vacm_get_context(&val->var, sub)) != NULL)
117 if (val->var.subs[sub] >= SNMP_ADM_STR32_SIZ)
119 if (index_decode(&val->var, sub, iidx, &cname, &cnamelen))
139 uint32_t sub, uint32_t iidx __unused, enum snmp_op op)
147 if ((user = vacm_get_user(&val->var, sub)) == NULL)
152 if ((user = vacm_get_next_user(&val->var, sub)) == NULL)
154 vacm_append_userindex(&val->var, sub, user);
158 if ((user = vacm_get_user(&val->var, sub)) == NULL &&
159 val->var.subs[sub - 1] != LEAF_vacmSecurityToGroupStatus)
171 switch (val->var.subs[sub - 1]) {
184 vacm_user_index_decode(&val->var, sub,
205 if (val->var.subs[sub - 1] != LEAF_vacmSecurityToGroupStatus)
207 if ((user = vacm_get_user(&val->var, sub)) == NULL)
223 if ((user = vacm_get_user(&val->var, sub)) == NULL)
225 switch (val->var.subs[sub - 1]) {
245 switch (val->var.subs[sub - 1]) {
262 op_vacm_access(struct snmp_context *ctx, struct snmp_value *val, uint32_t sub,
271 if ((acl = vacm_get_access_rule(&val->var, sub)) == NULL)
276 if ((acl = vacm_get_next_access_rule(&val->var, sub)) == NULL)
278 vacm_append_access_rule_index(&val->var, sub, acl);
282 if ((acl = vacm_get_access_rule(&val->var, sub)) == NULL &&
283 val->var.subs[sub - 1] != LEAF_vacmAccessStatus)
289 switch (val->var.subs[sub - 1]) {
336 sub, gname, cprefix, &smodel, &slevel) < 0)
356 if (val->var.subs[sub - 1] != LEAF_vacmAccessStatus)
358 if ((acl = vacm_get_access_rule(&val->var, sub)) == NULL)
367 if ((acl = vacm_get_access_rule(&val->var, sub)) == NULL)
369 switch (val->var.subs[sub - 1]) {
394 switch (val->var.subs[sub - 1]) {
427 uint32_t sub, uint32_t iidx __unused, enum snmp_op op)
429 if (val->var.subs[sub - 1] != LEAF_vacmViewSpinLock)
457 op_vacm_view(struct snmp_context *ctx, struct snmp_value *val, uint32_t sub,
466 if ((view = vacm_get_view(&val->var, sub)) == NULL)
471 if ((view = vacm_get_next_view(&val->var, sub)) == NULL)
473 vacm_append_viewindex(&val->var, sub, view);
477 if ((view = vacm_get_view(&val->var, sub)) == NULL &&
478 val->var.subs[sub - 1] != LEAF_vacmViewTreeFamilyStatus)
490 switch (val->var.subs[sub - 1]) {
520 vacm_view_index_decode(&val->var, sub, vname,
540 switch (val->var.subs[sub - 1]) {
545 if ((view = vacm_get_view(&val->var, sub)) == NULL)
565 if ((view = vacm_get_view(&val->var, sub)) == NULL)
567 switch (val->var.subs[sub - 1]) {
589 switch (val->var.subs[sub - 1]) {
612 vacm_append_userindex(struct asn_oid *oid, uint sub,
617 oid->len = sub + strlen(user->secname) + 2;
618 oid->subs[sub++] = user->sec_model;
619 oid->subs[sub] = strlen(user->secname);
621 oid->subs[sub + i] = user->secname[i - 1];
625 vacm_user_index_decode(const struct asn_oid *oid, uint sub,
630 *smodel = oid->subs[sub++];
632 if (oid->subs[sub] >= SNMP_ADM_STR32_SIZ)
635 for (i = 0; i < oid->subs[sub]; i++)
636 uname[i] = oid->subs[sub + i + 1];
643 vacm_get_user(const struct asn_oid *oid, uint sub)
649 if (vacm_user_index_decode(oid, sub, &smodel, uname) < 0)
661 vacm_get_next_user(const struct asn_oid *oid, uint sub)
667 if (oid->len - sub == 0)
670 if (vacm_user_index_decode(oid, sub, &smodel, uname) < 0)
682 vacm_append_access_rule_index(struct asn_oid *oid, uint sub,
687 oid->len = sub + strlen(acl->group->groupname) +
690 oid->subs[sub] = strlen(acl->group->groupname);
692 oid->subs[sub + i] = acl->group->groupname[i - 1];
693 sub += strlen(acl->group->groupname) + 1;
695 oid->subs[sub] = strlen(acl->ctx_prefix);
697 oid->subs[sub + i] = acl->ctx_prefix[i - 1];
698 sub += strlen(acl->ctx_prefix) + 1;
699 oid->subs[sub++] = acl->sec_model;
700 oid->subs[sub] = acl->sec_level;
704 vacm_access_rule_index_decode(const struct asn_oid *oid, uint sub, char *gname,
709 if (oid->subs[sub] >= SNMP_ADM_STR32_SIZ)
712 for (i = 0; i < oid->subs[sub]; i++)
713 gname[i] = oid->subs[sub + i + 1];
715 sub += strlen(gname) + 1;
717 if (oid->subs[sub] >= SNMP_ADM_STR32_SIZ)
720 for (i = 0; i < oid->subs[sub]; i++)
721 cprefix[i] = oid->subs[sub + i + 1];
723 sub += strlen(cprefix) + 1;
725 *smodel = oid->subs[sub++];
726 *slevel = oid->subs[sub];
732 vacm_get_access_rule(const struct asn_oid *oid, uint sub)
738 if (vacm_access_rule_index_decode(oid, sub, gname, prefix, &smodel,
753 vacm_get_next_access_rule(const struct asn_oid *oid __unused, uint sub __unused)
759 if (oid->len - sub == 0)
762 if (vacm_access_rule_index_decode(oid, sub, gname, prefix, &smodel,
777 vacm_view_index_decode(const struct asn_oid *oid, uint sub, char *vname,
783 if (oid->subs[sub] >= SNMP_ADM_STR32_SIZ)
786 for (i = 0; i < oid->subs[sub]; i++)
787 vname[i] = oid->subs[sub + i + 1];
790 viod_off = sub + oid->subs[sub] + 1;
801 vacm_append_viewindex(struct asn_oid *oid, uint sub, const struct vacm_view *view)
805 oid->len = sub + strlen(view->viewname) + 1;
806 oid->subs[sub] = strlen(view->viewname);
808 oid->subs[sub + i] = view->viewname[i - 1];
810 sub += strlen(view->viewname) + 1;
811 oid->subs[sub] = view->subtree.len;
817 vacm_get_view(const struct asn_oid *oid, uint sub)
823 if (vacm_view_index_decode(oid, sub, vname, &subtree) < 0)
835 vacm_get_next_view(const struct asn_oid *oid, uint sub)
841 if (oid->len - sub == 0)
844 if (vacm_view_index_decode(oid, sub, vname, &subtree) < 0)
869 vacm_get_context(const struct asn_oid *oid, uint sub)
876 if (oid->subs[sub] >= SNMP_ADM_STR32_SIZ)
881 if (index_decode(oid, sub, index_count, &cname, &cnamelen))
893 vacm_get_next_context(const struct asn_oid *oid, uint sub)
900 if (oid->len - sub == 0)
903 if (oid->subs[sub] >= SNMP_ADM_STR32_SIZ)
908 if (index_decode(oid, sub, index_count, &cname, &cnamelen))
920 vacm_append_ctxindex(struct asn_oid *oid, uint sub,
925 oid->len = sub + strlen(ctx->ctxname) + 1;
926 oid->subs[sub] = strlen(ctx->ctxname);
928 oid->subs[sub + i] = ctx->ctxname[i - 1];