Example #1
0
/** Remove RR data */
static void
do_data_remove(SSL* ssl, struct worker* worker, char* arg)
{
	uint8_t* nm;
	int nmlabs;
	size_t nmlen;
	if(!parse_arg_name(ssl, arg, &nm, &nmlen, &nmlabs))
		return;
	local_zones_del_data(worker->daemon->local_zones, nm,
		nmlen, nmlabs, LDNS_RR_CLASS_IN);
	free(nm);
	send_ok(ssl);
}
Example #2
0
/* Remove RR data */
int ub_ctx_data_remove(struct ub_ctx* ctx, char *data)
{
    uint8_t* nm;
    int nmlabs;
    size_t nmlen;
    int res = ub_ctx_finalize(ctx);
    if (res) return res;

    if(!parse_dname(data, &nm, &nmlen, &nmlabs))
        return UB_SYNTAX;

    local_zones_del_data(ctx->local_zones, nm, nmlen, nmlabs,
                         LDNS_RR_CLASS_IN);

    free(nm);
    return UB_NOERROR;
}