fr_sbuff_t attr_name;
struct json_object *vp_object, *values, *value, *type_name;
- if (vp->da->flags.is_raw) continue;
+ if (vp->vp_raw) continue;
switch (vp->vp_type) {
case FR_TYPE_LEAF:
struct json_object *values = NULL;
bool add_single = false;
- if (vp->da->flags.is_raw) continue;
+ if (vp->vp_raw) continue;
/*
* Get attribute name and value.
struct json_object *attrobj = NULL;
bool already_seen = false;
- if (vp->da->flags.is_raw) continue;
+ if (vp->vp_raw) continue;
/*
* Get attribute name and value.
vp = fr_pair_list_next(vps, vp)) {
struct json_object *value;
- if (vp->da->flags.is_raw) continue;
+ if (vp->vp_raw) continue;
if (json_afrom_value_box(ctx, &value, vp, format) < 0) {
fr_strerror_const("Failed to convert attribute value to JSON object");
fr_sbuff_t attr_name;
struct json_object *value;
- if (vp->da->flags.is_raw) continue;
+ if (vp->vp_raw) continue;
fr_sbuff_init_in(&attr_name, buf, sizeof(buf) - 1);
if (attr_name_with_prefix(&attr_name, vp->da, format) < 0) {
RINDENT();
RIDEBUG3("da : %p", vp->da);
- RIDEBUG3("is_raw : %pV", fr_box_bool(vp->da->flags.is_raw));
+ RIDEBUG3("is_raw : %pV", fr_box_bool(vp->vp_raw));
RIDEBUG3("is_unknown : %pV", fr_box_bool(vp->da->flags.is_unknown));
if (RDEBUG_ENABLED3) {
break;
}
- if (vp->da->flags.is_unknown || vp->da->flags.is_raw) {
+ if (vp->da->flags.is_unknown || vp->vp_raw) {
(void) talloc_get_type_abort_const(vp->da, fr_dict_attr_t);
} else {
}
}
- if (vp->da->flags.is_raw || vp->da->flags.is_unknown) {
+ if (vp->vp_raw || vp->da->flags.is_unknown) {
if ((vp->da->parent->type != FR_TYPE_VSA) && (vp->vp_type != FR_TYPE_VSA) && (vp->vp_type != FR_TYPE_OCTETS) && (vp->vp_type != FR_TYPE_TLV)) {
fr_fatal_assert_fail("CONSISTENCY CHECK FAILED %s[%u]: fr_pair_t (raw/unknown) attribute %p \"%s\" "
"data type incorrect. Expected %s, got %s",
fr_type_to_str(FR_TYPE_OCTETS),
fr_type_to_str(vp->vp_type));
}
+
} else if (fr_type_is_leaf(vp->vp_type) && (vp->vp_type != vp->da->type) &&
!((vp->da->type == FR_TYPE_COMBO_IP_ADDR) && ((vp->vp_type == FR_TYPE_IPV4_ADDR) || (vp->vp_type == FR_TYPE_IPV6_ADDR))) &&
!((vp->da->type == FR_TYPE_COMBO_IP_PREFIX) && ((vp->vp_type == FR_TYPE_IPV4_PREFIX) || (vp->vp_type == FR_TYPE_IPV6_PREFIX)))) {
#define vp_type data.type
#define vp_tainted data.tainted
#define vp_immutable data.immutable
+#define vp_raw da->flags.is_raw
#define ATTRIBUTE_EQ(_x, _y) ((_x && _y) && (_x->da == _y->da))
*/
if (parent && (parent->type == FR_TYPE_GROUP)) parent = NULL;
- if (vp->da->flags.is_raw) FR_SBUFF_IN_STRCPY_LITERAL_RETURN(&our_out, "raw.");
+ if (vp->vp_raw) FR_SBUFF_IN_STRCPY_LITERAL_RETURN(&our_out, "raw.");
FR_DICT_ATTR_OID_PRINT_RETURN(&our_out, parent, vp->da, false);
FR_SBUFF_IN_CHAR_RETURN(&our_out, ' ');
FR_SBUFF_IN_STRCPY_RETURN(&our_out, token);
*/
if (parent && (parent->type == FR_TYPE_GROUP)) parent = NULL;
- if (vp->da->flags.is_raw) FR_SBUFF_IN_STRCPY_LITERAL_RETURN(&our_out, "raw.");
+ if (vp->vp_raw) FR_SBUFF_IN_STRCPY_LITERAL_RETURN(&our_out, "raw.");
FR_DICT_ATTR_OID_PRINT_RETURN(&our_out, parent, vp->da, false);
FR_SBUFF_IN_CHAR_RETURN(&our_out, ' ');
FR_SBUFF_IN_STRCPY_RETURN(&our_out, token);
fr_sbuff_set_to_start(sbuff);
- if (vp->da->flags.is_raw) (void) fr_sbuff_in_strcpy(sbuff, "raw.");
+ if (vp->vp_raw) (void) fr_sbuff_in_strcpy(sbuff, "raw.");
if (parent && (parent->vp_type != FR_TYPE_GROUP)) parent_da = parent->da;
if (fr_dict_attr_oid_print(sbuff, parent_da, vp->da, false) <= 0) return;