Home | History | Annotate | Download | only in src

Lines Matching refs:range

113 	unsigned int i, l, len, range;
121 range = 0;
124 p_sens_val_to_name[context->range.level[l].sens -
127 ebitmap_for_each_bit(&context->range.level[l].cat, cnode, i) {
129 if (range) {
130 range++;
136 range++;
138 if (range > 1)
143 range = 0;
146 /* Handle case where last category is the end of range */
147 if (range > 1)
151 if (mls_level_eq(&context->range.level[0],
152 &context->range.level[1]))
172 unsigned int i, l, range, wrote_sep;
184 range = 0;
187 policydb->p_sens_val_to_name[context->range.level[l].
191 p_sens_val_to_name[context->range.level[l].sens -
194 ebitmap_for_each_bit(&context->range.level[l].cat, cnode, i) {
196 if (range) {
197 range++;
210 range++;
212 if (range > 1) {
213 if (range > 2)
225 range = 0;
228 /* Handle case where last category is the end of range */
229 if (range > 1) {
230 if (range > 2)
240 if (mls_level_eq(&context->range.level[0],
241 &context->range.level[1]))
270 * MLS range validity checks: high must dominate low, low level must
274 if (!mls_level_dom(&c->range.level[1], &c->range.level[0]))
279 if (!c->range.level[l].sens
280 || c->range.level[l].sens > p->p_levels.nprim)
285 [c->range.level[l].
290 ebitmap_for_each_bit(&c->range.level[l].cat, cnode, i) {
308 * User must be authorized for the MLS range.
313 if (!mls_range_contains(usrdatum->exp_range, c->range))
314 return 0; /* user may not be associated with range */
363 context->range.level[l].sens = levdatum->level->sens;
375 /* Separate into range if exists */
390 (&context->range.level[l].cat,
394 /* If range, set all categories in range */
413 (&context->range.level[l].
438 if (mls_level_cpy(&context->range.level[1],
439 &context->range.level[0]) < 0)
451 * Copies the MLS range from `src' into `dst'.
458 /* Copy the MLS range from the source context */
460 dst->range.level[l].sens = src->range.level[l].sens;
461 rc = ebitmap_cpy(&dst->range.level[l].cat,
462 &src->range.level[l].cat);
471 * Copies the effective MLS range from `src' into `dst'.
478 /* Copy the MLS range from the source context */
480 dst->range.level[l].sens = src->range.level[0].sens;
481 rc = ebitmap_cpy(&dst->range.level[l].cat,
482 &src->range.level[0].cat);
491 * Copies the MLS range `range' into `context'.
493 static inline int mls_range_set(context_struct_t * context, mls_range_t * range)
497 /* Copy the MLS range into the context */
499 context->range.level[l].sens = range->level[l].sens;
500 rc = ebitmap_cpy(&context->range.level[l].cat,
501 &range->level[l].cat);
513 mls_level_t *fromcon_sen = &(fromcon->range.level[0]);
514 mls_level_t *fromcon_clr = &(fromcon->range.level[1]);
518 mls_level_t *usercon_sen = &(usercon->range.level[0]);
519 mls_level_t *usercon_clr = &(usercon->range.level[1]);
569 range.
577 c->range.level[l].sens = levdatum->level->sens;
580 ebitmap_for_each_bit(&c->range.level[l].cat, cnode, i) {
598 ebitmap_destroy(&c->range.level[l].cat);
599 c->range.level[l].cat = bitmap;
617 /* Look for a range transition rule. */
622 /* Set the range from the rule */
670 *response = mls_range_contains(ctx1->range, ctx2->range);