/** 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); }
/* 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; }