break;
}
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_STRING, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_STRING, NULL));
fr_value_box_bstrndup(vb, vb, NULL, method, strlen(method), false);
fr_dcursor_append(out, vb);
break;
}
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_STRING, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_STRING, NULL));
fr_value_box_bstrndup(ctx, vb, NULL, type, strlen(type), false);
fr_dcursor_append(out, vb);
return XLAT_ACTION_FAIL;
}
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_UINT8, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_UINT8, NULL));
vb->vb_uint8 = fr_aka_sim_id_3gpp_pseudonym_tag(id->vb_strvalue);
fr_dcursor_append(out, vb);
return XLAT_ACTION_FAIL;
}
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_STRING, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_STRING, NULL));
fr_value_box_bstrndup(ctx, vb, NULL, encrypted, strlen(encrypted), false);
fr_dcursor_append(out, vb);
fr_value_box_init(out, FR_TYPE_GROUP, NULL, true);
- verb = fr_value_box_alloc(ctx, FR_TYPE_STRING, NULL, true);
+ verb = fr_value_box_alloc(ctx, FR_TYPE_STRING, NULL);
if (unlikely(!verb)) {
fr_strerror_const("Out of memory");
return -1;
if (fr_value_box_bstrndup(ctx, verb, NULL, reply->str, reply->len, true) < 0) return -1;
fr_value_box_list_insert_head(&out->vb_group, verb);
- vtype = fr_value_box_alloc(ctx, FR_TYPE_STRING, NULL, true);
+ vtype = fr_value_box_alloc(ctx, FR_TYPE_STRING, NULL);
if (unlikely(!vtype)) {
fr_strerror_const("Out of memory");
talloc_free(verb);
if (ret < 0) {
if (cast_type != FR_TYPE_STRING) return -1;
- box = fr_value_box_alloc(request, FR_TYPE_STRING, NULL, false);
+ box = fr_value_box_alloc(request, FR_TYPE_STRING, NULL);
if (!box) return -1;
}
* Virtual attributes always have a count of 1
*/
if (tmpl_attr_tail_num(vpt) == NUM_COUNT) {
- MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT32, NULL, false));
+ MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT32, NULL));
value->datum.uint32 = 1;
goto done;
}
}
if (tmpl_attr_tail_da(vpt) == attr_module_return_code) {
- MEM(value = fr_value_box_alloc(ctx, tmpl_attr_tail_da(vpt)->type, tmpl_attr_tail_da(vpt), false));
+ MEM(value = fr_value_box_alloc(ctx, tmpl_attr_tail_da(vpt)->type, tmpl_attr_tail_da(vpt)));
value->datum.int32 = request->rcode;
goto done;
}
if (tmpl_attr_tail_da(vpt) == attr_packet_type) {
if (!packet || !packet->code) return 0;
- MEM(value = fr_value_box_alloc(ctx, tmpl_attr_tail_da(vpt)->type, NULL, false));
+ MEM(value = fr_value_box_alloc(ctx, tmpl_attr_tail_da(vpt)->type, NULL));
value->enumv = tmpl_attr_tail_da(vpt);
value->datum.int32 = packet->code;
} else if (tmpl_attr_tail_da(vpt) == attr_packet_src_port) {
if (!fr_socket_is_inet(packet->socket.proto)) return 0;
- MEM(value = fr_value_box_alloc(ctx, tmpl_attr_tail_da(vpt)->type, NULL, true));
+ MEM(value = fr_value_box_alloc(ctx, tmpl_attr_tail_da(vpt)->type, NULL));
value->datum.uint16 = packet->socket.inet.src_port;
} else if (tmpl_attr_tail_da(vpt) == attr_packet_dst_port) {
if (!fr_socket_is_inet(packet->socket.proto)) return 0;
- MEM(value = fr_value_box_alloc(ctx, tmpl_attr_tail_da(vpt)->type, NULL, true));
+ MEM(value = fr_value_box_alloc(ctx, tmpl_attr_tail_da(vpt)->type, NULL));
value->datum.uint16 = packet->socket.inet.dst_port;
} else {
* Zero count.
*/
if (tmpl_attr_tail_num(vpt) == NUM_COUNT) {
- value = fr_value_box_alloc(ctx, FR_TYPE_UINT32, NULL, false);
+ value = fr_value_box_alloc(ctx, FR_TYPE_UINT32, NULL);
if (!value) {
oom:
fr_strerror_const("Out of memory");
vp = fr_dcursor_next(&cursor);
}
- value = fr_value_box_alloc(ctx, FR_TYPE_UINT32, NULL, false);
+ value = fr_value_box_alloc(ctx, FR_TYPE_UINT32, NULL);
if (!value) goto oom;
value->datum.uint32 = count;
fr_value_box_list_insert_tail(&list, value);
*/
while (vp != NULL) {
if (fr_type_is_structural(vp->vp_type)) {
- value = fr_value_box_alloc(ctx, FR_TYPE_GROUP, NULL, false);
+ value = fr_value_box_alloc(ctx, FR_TYPE_GROUP, NULL);
if (!value) goto oom;
if (fr_pair_list_copy_to_box(value, &vp->vp_group) < 0) {
}
} else {
- value = fr_value_box_alloc(ctx, vp->data.type, vp->da, vp->data.tainted);
+ value = fr_value_box_alloc(ctx, vp->data.type, vp->da);
if (!value) goto oom;
fr_value_box_copy(value, value, &vp->data);
}
default:
fr_assert(fr_type_is_leaf(vp->vp_type));
- value = fr_value_box_alloc(ctx, vp->data.type, vp->da, vp->data.tainted);
+ value = fr_value_box_alloc(ctx, vp->data.type, vp->da);
if (!value) goto oom;
fr_value_box_copy(value, value, &vp->data); /* Also dups taint */
}
if (tmpl_is_data(vpt)) {
- MEM(value = fr_value_box_alloc(ctx, tmpl_value_type(vpt), NULL,
- tmpl_value(vpt)->tainted));
+ MEM(value = fr_value_box_alloc(ctx, tmpl_value_type(vpt), NULL));
fr_value_box_copy(value, value, tmpl_value(vpt)); /* Also dups taint */
goto done;
box = fr_value_box_list_head(¤t->rhs.result);
if (!box) {
- MEM(box = fr_value_box_alloc(state, FR_TYPE_STRING, NULL, false));
+ MEM(box = fr_value_box_alloc(state, FR_TYPE_STRING, NULL));
fr_value_box_list_insert_tail(¤t->rhs.result, box);
} else if (fr_value_box_list_concat_in_place(box, box, ¤t->rhs.result, FR_TYPE_STRING,
/*
* Try to re-parse the box as the destination data type.
*/
- MEM(dst = fr_value_box_alloc(state, type, da, box->tainted));
+ MEM(dst = fr_value_box_alloc(state, type, da));
erules = fr_value_unescape_by_quote[current->map->lhs->quote];
if (!timeout) return unlang_xlat_yield(request, unlang_cancel_never_run, NULL, 0, NULL);
if (ev_p_og) {
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_TIME_DELTA, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_TIME_DELTA, NULL));
/*
* Return how long before the previous
fr_sbuff_trim(&state->exec.stdout_buff, sbuff_char_line_endings);
fr_value_box_list_init(&state->list);
- MEM(box = fr_value_box_alloc(state->ctx, FR_TYPE_STRING, NULL, true));
+ MEM(box = fr_value_box_alloc(state->ctx, FR_TYPE_STRING, NULL));
if (fr_value_box_from_str(state->ctx, box, type, NULL,
fr_sbuff_start(&state->exec.stdout_buff),
fr_sbuff_used(&state->exec.stdout_buff),
/*
* Expand to previous (or current) level
*/
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_INT8, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_INT8, NULL));
vb->vb_int8 = request->log.lvl;
fr_dcursor_append(out, vb);
return XLAT_ACTION_FAIL;
}
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_INT8, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_INT8, NULL));
vb->vb_int8 = 0; /* Default fail value - changed to 1 on success */
fr_dcursor_append(out, vb);
if ((type == FR_TYPE_STRING) || (type == FR_TYPE_OCTETS)) {
fr_value_box_t *dst;
- MEM(dst = fr_value_box_alloc(ctx, type, NULL, false));
+ MEM(dst = fr_value_box_alloc(ctx, type, NULL));
fr_dcursor_append(out, dst);
return XLAT_ACTION_DONE;
sep = (separator) ? separator->vb_strvalue : "";
to_concat = &list->vb_group;
- result = fr_value_box_alloc(ctx, FR_TYPE_STRING, NULL, false);
+ result = fr_value_box_alloc(ctx, FR_TYPE_STRING, NULL);
if (!result) {
error:
RPEDEBUG("Failed concatenating input");
fr_value_box_list_foreach(in, vb) {
fr_value_box_t *my;
- MEM(my = fr_value_box_alloc(ctx, FR_TYPE_SIZE, NULL, false));
+ MEM(my = fr_value_box_alloc(ctx, FR_TYPE_SIZE, NULL));
if (!fr_type_is_null(vb->type)) my->vb_size = fr_value_box_network_length(vb);
fr_dcursor_append(out, my);
}
result *= fr_rand(); /* 0..2^32-1 */
result >>= 32;
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_UINT64, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_UINT64, NULL));
vb->vb_uint64 = result;
fr_dcursor_append(out, vb);
XLAT_ARGS(args, &in_head);
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_SIZE, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_SIZE, NULL));
if (!in_head) {
vb->vb_size = 0;
value = fr_time_to_unix_time(request->packet->timestamp);
} else if (strcmp(arg->vb_strvalue, "offset") == 0) {
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_TIME_DELTA, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_TIME_DELTA, NULL));
vb->vb_time_delta = fr_time_gmtoff();
goto append;
} else if (strcmp(arg->vb_strvalue, "dst") == 0) {
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_BOOL, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_BOOL, NULL));
vb->vb_bool = fr_time_is_dst();
goto append;
nsec *= NSEC;
nsec += fr_unix_time_unwrap(unix_time) % NSEC;
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_TIME_DELTA, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_TIME_DELTA, NULL));
vb->vb_time_delta = fr_time_delta_wrap(nsec);
goto append;
nsec *= NSEC;
nsec += fr_unix_time_unwrap(unix_time) % NSEC;
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_TIME_DELTA, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_TIME_DELTA, NULL));
vb->vb_time_delta = fr_time_delta_wrap(nsec);
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_TIME_DELTA, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_TIME_DELTA, NULL));
vb->vb_time_delta = fr_time_delta_wrap(nsec);
goto append;
return XLAT_ACTION_FAIL;
}
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_DATE, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_DATE, NULL));
vb->vb_date = value;
append:
* Create a value box to hold the decoded count, and add
* it to the output list.
*/
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_UINT32, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_UINT32, NULL));
vb->vb_uint32 = decoded;
fr_dcursor_append(out, vb);
*/
case 'I': /* Request ID */
- MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT32, NULL, false));
+ MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT32, NULL));
value->datum.uint32 = request->packet->id;
break;
case 'n': /* Request number */
- MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT64, NULL, false));
+ MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT64, NULL));
value->datum.uint64 = request->number;
break;
case 's': /* First request in this sequence */
- MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT64, NULL, false));
+ MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT64, NULL));
value->datum.uint64 = request->seq_start;
break;
* @todo - leave this as FR_TYPE_DATE, but add an enumv which changes the scale to
* seconds?
*/
- MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT64, NULL, false));
+ MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT64, NULL));
value->datum.uint64 = (uint64_t)fr_time_to_sec(fr_time());
break;
/*
* @todo - we probably should remove this now that we have FR_TYPE_DATE with scaling.
*/
- MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT64, NULL, false));
+ MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT64, NULL));
value->datum.uint64 = (uint64_t)fr_time_to_usec(fr_time()) % 1000000;
break;
return XLAT_ACTION_FAIL;
}
- MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT8, NULL, false));
+ MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT8, NULL));
value->datum.uint8 = ts.tm_mday;
break;
case 'e': /* Request second */
if (!localtime_r(&now, &ts)) goto error;
- MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT8, NULL, false));
+ MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT8, NULL));
value->datum.uint8 = ts.tm_sec;
break;
case 'G': /* Request minute */
if (!localtime_r(&now, &ts)) goto error;
- MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT8, NULL, false));
+ MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT8, NULL));
value->datum.uint8 = ts.tm_min;
break;
case 'H': /* Request hour */
if (!localtime_r(&now, &ts)) goto error;
- MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT8, NULL, false));
+ MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT8, NULL));
value->datum.uint8 = ts.tm_hour;
break;
* @todo - leave this as FR_TYPE_DATE, but add an enumv which changes the scale to
* seconds?
*/
- MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT64, NULL, false));
+ MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT64, NULL));
value->datum.uint64 = (uint64_t ) now;
break;
case 'm': /* Request month */
if (!localtime_r(&now, &ts)) goto error;
- MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT8, NULL, false));
+ MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT8, NULL));
value->datum.uint8 = ts.tm_mon + 1;
break;
/*
* @todo - we probably should remove this now that we have FR_TYPE_DATE with scaling.
*/
- MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT32, NULL, false));
+ MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT32, NULL));
value->datum.uint32 = fr_time_to_msec(request->packet->timestamp) % 1000;
break;
case 'Y': /* Request year */
if (!localtime_r(&now, &ts)) goto error;
- MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT16, NULL, false));
+ MEM(value = fr_value_box_alloc(ctx, FR_TYPE_UINT16, NULL));
value->datum.int16 = ts.tm_year + 1900;
break;
XLAT_DEBUG("** [%i] %s(child) - continuing %%{%s ...}", unlang_interpret_stack_depth(request), __FUNCTION__,
node->fmt);
- MEM(arg = fr_value_box_alloc(ctx, FR_TYPE_GROUP, NULL, false));
+ MEM(arg = fr_value_box_alloc(ctx, FR_TYPE_GROUP, NULL));
if (!fr_value_box_list_empty(result)) {
VALUE_BOX_TALLOC_LIST_VERIFY(result);
XLAT_DEBUG("** [%i] %s(value) - %s", unlang_interpret_stack_depth(request), __FUNCTION__,
node->vpt->name);
- MEM(value = fr_value_box_alloc(ctx, tmpl_value_type(node->vpt), NULL,
- tmpl_value(node->vpt)->tainted));
+ MEM(value = fr_value_box_alloc(ctx, tmpl_value_type(node->vpt), NULL));
fr_value_box_copy(value, value, tmpl_value(node->vpt)); /* Also dups taint */
fr_value_box_list_insert_tail(&result, value);
/*
* These callbacks only implement equality. Nothing else works.
*/
- MEM(dst = fr_value_box_alloc(ctx, FR_TYPE_BOOL, attr_expr_bool_enum, false));
+ MEM(dst = fr_value_box_alloc(ctx, FR_TYPE_BOOL, attr_expr_bool_enum));
dst->vb_bool = (paircmp_virtual(request, da, T_OP_CMP_EQ, vb) == 0);
fr_dcursor_append(out, dst);
done:
talloc_free(regmatch); /* free if not consumed */
- MEM(dst = fr_value_box_alloc(ctx, FR_TYPE_BOOL, attr_expr_bool_enum, false));
+ MEM(dst = fr_value_box_alloc(ctx, FR_TYPE_BOOL, attr_expr_bool_enum));
dst->vb_bool = (ret == (op == T_OP_REG_EQ));
fr_dcursor_append(out, dst);
MEM(rctx = talloc_zero(unlang_interpret_frame_talloc_ctx(request), xlat_logical_rctx_t));
rctx->current = 0;
- MEM(rctx->box = fr_value_box_alloc(ctx, FR_TYPE_BOOL, attr_expr_bool_enum, false));
+ MEM(rctx->box = fr_value_box_alloc(ctx, FR_TYPE_BOOL, attr_expr_bool_enum));
fr_value_box_list_init(&rctx->list);
(UNCONST(xlat_ctx_t *, xctx))->rctx = rctx; /* ensure it's there before a resume! */
/*
* Don't call calc_unary_op(), because we want the enum names.
*/
- MEM(dst = fr_value_box_alloc(ctx, FR_TYPE_BOOL, attr_expr_bool_enum, false));
+ MEM(dst = fr_value_box_alloc(ctx, FR_TYPE_BOOL, attr_expr_bool_enum));
/*
* !NULL = true
* matches the current rcode.
*/
if (!src) {
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_UINT32, attr_module_return_code, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_UINT32, attr_module_return_code));
vb->datum.int32 = request->rcode;
} else {
rlm_rcode_t rcode;
rcode = fr_table_value_by_str(rcode_table, src->vb_strvalue, RLM_MODULE_NOT_SET);
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_BOOL, attr_expr_bool_enum, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_BOOL, attr_expr_bool_enum));
vb->vb_bool = (request->rcode == rcode);
}
fr_dcursor_t cursor;
tmpl_dcursor_ctx_t cc;
- MEM(dst = fr_value_box_alloc(ctx, FR_TYPE_BOOL, attr_expr_bool_enum, false));
+ MEM(dst = fr_value_box_alloc(ctx, FR_TYPE_BOOL, attr_expr_bool_enum));
vp = tmpl_dcursor_init(NULL, NULL, &cc, &cursor, request, vpt);
if (!vp) {
enumv->name_len = len;
if (child_struct) enumv->child_struct[0] = child_struct;
- enum_value = fr_value_box_alloc(enumv, da->type, NULL, false);
+ enum_value = fr_value_box_alloc(enumv, da->type, NULL);
if (!enum_value) goto oom;
if (da->type != value->type) {
return data_len;
}
- box = fr_value_box_alloc(ctx, type, NULL, true);
+ box = fr_value_box_alloc(ctx, type, NULL);
if (!box) return -1;
rcode = fr_value_box_from_str(box, box, type, NULL, (char const *)data + 1, data_len - 1, NULL, true);
PAIR_VERIFY_WITH_LIST(from, vp);
if (fr_type_is_structural(vp->vp_type)) {
- value = fr_value_box_alloc(dst, FR_TYPE_GROUP, NULL, false);
+ value = fr_value_box_alloc(dst, FR_TYPE_GROUP, NULL);
if (!value) goto fail;
if (fr_pair_list_copy_to_box(value, &vp->vp_group) < 0) {
}
} else {
- value = fr_value_box_alloc(dst, vp->vp_type, vp->da, vp->data.tainted);
+ value = fr_value_box_alloc(dst, vp->vp_type, vp->da);
if (!value) {
fail:
fr_value_box_list_talloc_free_to_tail(&dst->vb_group, first_added);
* @param[in] ctx to allocate the value_box in.
* @param[in] type of value.
* @param[in] enumv Enumeration values.
- * @param[in] tainted Whether data will come from an untrusted source.
* @return
* - A new fr_value_box_t.
* - NULL on error.
*/
static inline CC_HINT(always_inline)
-fr_value_box_t *fr_value_box_alloc(TALLOC_CTX *ctx, fr_type_t type, fr_dict_attr_t const *enumv, bool tainted)
+fr_value_box_t *fr_value_box_alloc(TALLOC_CTX *ctx, fr_type_t type, fr_dict_attr_t const *enumv)
{
fr_value_box_t *vb;
vb = talloc(ctx, fr_value_box_t);
if (unlikely(!vb)) return NULL;
- fr_value_box_init(vb, type, enumv, tainted);
+ fr_value_box_init(vb, type, enumv, false);
return vb;
}
static inline CC_HINT(always_inline)
fr_value_box_t *fr_value_box_alloc_null(TALLOC_CTX *ctx)
{
- return fr_value_box_alloc(ctx, FR_TYPE_NULL, NULL, false);
+ return fr_value_box_alloc(ctx, FR_TYPE_NULL, NULL);
}
/** @} */
*/
switch (EVP_PKEY_verify(t->evp_verify_ctx, sig, sig_len, t->digest_buff, (size_t)digest_len)) {
case 1: /* success (signature valid) */
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_BOOL, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_BOOL, NULL));
vb->vb_bool = true;
fr_dcursor_append(out, vb);
break;
case 0: /* failure (signature not valid) */
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_BOOL, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_BOOL, NULL));
vb->vb_bool = false;
fr_dcursor_append(out, vb);
break;
return cipher_serial_xlat(ctx, out, xctx, request, in);
case CIPHER_CERT_ATTR_NOT_BEFORE:
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_DATE, NULL, true));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_DATE, NULL));
vb->vb_date = inst->rsa->not_before;
+ vb->tainted = true;
fr_dcursor_append(out, vb);
return XLAT_ACTION_DONE;
case CIPHER_CERT_ATTR_NOT_AFTER:
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_DATE, NULL, true));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_DATE, NULL));
vb->vb_date = inst->rsa->not_after;
+ vb->tainted = true;
fr_dcursor_append(out, vb);
return XLAT_ACTION_DONE;
}
return XLAT_ACTION_FAIL;
}
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_DATE, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_DATE, NULL));
vb->vb_date = fr_unix_time_from_sec(date);
fr_dcursor_append(out, vb);
return XLAT_ACTION_DONE;
delayed = fr_time_sub(fr_time(), *yielded_at);
talloc_free(yielded_at);
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_TIME_DELTA, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_TIME_DELTA, NULL));
vb->vb_time_delta = delayed;
RDEBUG3("Request delayed by %pVs", vb);
}
default_list = NULL;
- box = fr_value_box_alloc(ctx, data_type, NULL, false);
+ box = fr_value_box_alloc(ctx, data_type, NULL);
/*
* We've read the entries in linearly, but putting them
user_list = talloc_zero(ctx, PAIR_LIST_LIST);
pairlist_list_init(user_list);
user_list->name = entry->name;
- user_list->box = fr_value_box_alloc(user_list, data_type, NULL, false);
+ user_list->box = fr_value_box_alloc(user_list, data_type, NULL);
(void) fr_value_box_copy(user_list, user_list->box, box);
rlm_icmp_thread_t *t = talloc_get_type_abort(xctx->mctx->thread, rlm_icmp_thread_t);
fr_value_box_t *vb;
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_BOOL, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_BOOL, NULL));
vb->vb_bool = echo->replied;
(void) fr_rb_delete(t->tree, echo);
ldap_memberof_xlat_ctx_t *xlat_ctx = talloc_get_type_abort(xctx->rctx, ldap_memberof_xlat_ctx_t);
fr_value_box_t *vb;
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_BOOL, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_BOOL, NULL));
vb->vb_bool = xlat_ctx->found;
fr_dcursor_append(out, vb);
return XLAT_ACTION_DONE;
case RLM_MODULE_OK:
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_BOOL, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_BOOL, NULL));
vb->vb_bool = true;
fr_dcursor_append(out, vb);
return XLAT_ACTION_DONE;
slen = linelog_write(inst, request, vector, i, with_delim);
if (slen < 0) return XLAT_ACTION_FAIL;
- MEM(wrote = fr_value_box_alloc(ctx, FR_TYPE_SIZE, NULL, false));
+ MEM(wrote = fr_value_box_alloc(ctx, FR_TYPE_SIZE, NULL));
wrote->vb_size = (size_t)slen;
fr_dcursor_insert(out, wrote);
break;
}
DEBUG3("Integer returned");
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_INT32, NULL, SvTAINTED(sv)));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_INT32, NULL));
vb->vb_int32 = SvIV(sv);
break;
case SVt_NV:
/* Float */
DEBUG3("Float returned");
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_FLOAT64, NULL, SvTAINTED(sv)));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_FLOAT64, NULL));
vb->vb_float64 = SvNV(sv);
break;
}
- if (vb) fr_value_box_list_insert_tail(list, vb);
+ if (vb) {
+ vb->tainted = SvTAINTED(sv);
+ fr_value_box_list_insert_tail(list, vb);
+ }
return 0;
}
fr_value_box_t *in_head = fr_value_box_list_head(in);
fr_value_box_t *vb;
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_BOOL, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_BOOL, NULL));
fr_dcursor_append(out, vb);
if (trigger_exec(unlang_interpret_get(request), NULL, in_head->vb_strvalue, false, NULL) < 0) {
fr_value_box_t *vb;
fr_value_box_list_foreach(in, vb_p) {
- MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_STRING, NULL, false));
+ MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_STRING, NULL));
if (fr_value_box_copy(ctx, vb, vb_p) < 0) {
talloc_free(vb);