rk->rk.rrset_class = htons(ldns_rr_get_class(rr));
ldns_buffer_clear(buf);
status = ldns_dname2buffer_wire(buf, ldns_rr_owner(rr));
+ if(status != LDNS_STATUS_OK) {
+ log_warn("error cannot dname2buffer :%s",
+ ldns_get_errorstr_by_id(status));
+ ldns_rr_free(rr);
+ return 0;
+ }
ldns_buffer_flip(buf);
rk->rk.dname_len = ldns_buffer_limit(buf);
rk->rk.dname = regional_alloc_init(region,
struct listen_port* l = NULL;
log_assert(cfg->remote_control_enable && cfg->control_port);
if(cfg->control_ifs) {
- struct config_strlist* p = cfg->control_ifs;
+ struct config_strlist* p;
for(p = cfg->control_ifs; p; p = p->next) {
if(!add_open(p->str, cfg->control_port, &l, 1)) {
listening_ports_free(l);
struct stats_info total;
struct stats_info s;
int i;
+ log_assert(daemon->num > 0);
/* gather all thread statistics in one place */
for(i=0; i<daemon->num; i++) {
server_stats_obtain(rc->worker, daemon->workers[i], &s, reset);
const char* winopt = NULL;
int cmdline_verbose = 0;
int debug_mode = 0;
+#ifdef UB_ON_WINDOWS
int cmdline_cfg = 0;
+#endif
#ifdef HAVE_SBRK
/* take debug snapshot of heap */
switch(c) {
case 'c':
cfgfile = optarg;
+#ifdef UB_ON_WINDOWS
cmdline_cfg = 1;
+#endif
break;
case 'v':
cmdline_verbose ++;
+18 May 2010: Wouter
+ - Fix various compiler warnings from the clang llvm compiler.
+
6 May 2010: Wouter
- Fix bug#308: spelling error in variable name in parser and lexer.
{
uint8_t* origzone = (uint8_t*)"\000"; /* the default */
struct ub_packed_rrset_key* s;
- size_t origzonelen = 1;
size_t i;
if(!msg || !request)
if(dp) {
origzone = dp->name;
- origzonelen = dp->namelen;
}
/* First we look at the answer section. This can tell us if this is a
for(rr = rrset->rr_first; rr; rr = rr->next) {
rhs = rr->ttl_data+4+2;
len = ldns_read_uint16(rr->ttl_data+4);
- if(!(len=dname_valid(rhs, len))) {
+ if(!dname_valid(rhs, len)) {
/* malformed domain name in rdata */
return 1;
}
struct iter_env* ie, int id, int maxtargets, int* num)
{
int query_count = 0;
- struct delegpt_ns* ns = iq->dp->nslist;
+ struct delegpt_ns* ns;
int missing;
int toget = 0;
&runtime->now->addr, runtime->now->addrlen,
&ans->repinfo.addr, ans->repinfo.addrlen) == 0) &&
find_match(runtime->now->match, ans->pkt, tr)) {
- struct replay_answer *n = ans->next;
log_info("testbound matched event entry from line %d",
runtime->now->match->lineno);
log_info("testbound: do STEP %d %s",
if(!ans->next)
runtime->answer_last = prev;
delete_replay_answer(ans);
- ans = n;
return;
} else {
prev = ans;
{
struct query_info qinfo;
ldns_rdf* rdf;
- int labs;
uint16_t len;
/* qname */
rdf = ldns_dname_new_frm_str(strname);
exit(1);
}
qinfo.qname = memdup(ldns_rdf_data(rdf), ldns_rdf_size(rdf));
- labs = dname_count_size_labels(qinfo.qname, &qinfo.qname_len);
+ (void)dname_count_size_labels(qinfo.qname, &qinfo.qname_len);
ldns_rdf_deep_free(rdf);
if(!qinfo.qname) fatal_exit("out of memory");
10116,
10128,
10160,
+10161,
+10162,
10200,
10201,
10252,
fatal_exit("thr_sigsetmask: %s", strerror(err));
# else
/* have nothing, do single process signal mask */
- if((err=sigprocmask(SIG_SETMASK, &sigset, NULL)))
+ if(sigprocmask(SIG_SETMASK, &sigset, NULL))
fatal_exit("sigprocmask: %s", strerror(errno));
# endif /* HAVE_SOLARIS_THREADS */
#endif /* HAVE_PTHREAD */
fatal_exit("thr_sigsetmask: %s", strerror(err));
# else
/* have nothing, do single thread case */
- if((err=sigprocmask(SIG_UNBLOCK, &sigset, NULL)))
+ if(sigprocmask(SIG_UNBLOCK, &sigset, NULL))
fatal_exit("sigprocmask: %s", strerror(errno));
# endif /* HAVE_SOLARIS_THREADS */
#endif /* HAVE_PTHREAD */
parse_id(struct val_anchors* anchors, char* line)
{
struct trust_anchor *tp;
- size_t len;
- int labs, r;
+ int r;
ldns_rdf* rdf;
uint16_t dclass;
/* read the owner name */
rdf = ldns_dname_new_frm_str(line);
if(!rdf)
return NULL;
- labs = dname_count_size_labels(ldns_rdf_data(rdf), &len);
- log_assert(len == ldns_rdf_size(rdf));
/* read the class */
dclass = parse_int(next+1, &r);
unsigned char* orig = *sig;
unsigned int origlen = *len;
int newlen;
-
- uint8_t t;
BIGNUM *R, *S;
DSA_SIG *dsasig;
/* extract the R and S field from the sig buffer */
if(origlen < 1 + 2*SHA_DIGEST_LENGTH)
return 0;
- t = orig[0];
R = BN_new();
if(!R) return 0;
(void) BN_bin2bn(orig + 1, SHA_DIGEST_LENGTH, R);
processFindKey(struct module_qstate* qstate, struct val_qstate* vq, int id)
{
uint8_t* target_key_name, *current_key_name;
- size_t target_key_len, current_key_len;
+ size_t target_key_len;
int strip_lab;
log_query_info(VERB_ALGO, "validator: FindKey", &vq->qchase);
}
current_key_name = vq->key_entry->name;
- current_key_len = vq->key_entry->namelen;
/* If our current key entry matches our target, then we are done. */
if(query_dname_compare(target_key_name, current_key_name) == 0) {
return 1;
}
current_key_name = vq->empty_DS_name;
- current_key_len = vq->empty_DS_len;
}
log_nametypeclass(VERB_ALGO, "current keyname", current_key_name,
}
log_nametypeclass(VERB_ALGO, "DLV init look", nm, LDNS_RR_TYPE_DS,
vq->qchase.qclass);
- log_assert(nm && nm_len)
+ log_assert(nm && nm_len);
/* sanity check: no DLV lookups below the DLV anchor itself.
* Like, an securely insecure delegation there makes no sense. */
if(dname_subdomain_c(nm, qstate->env->anchors->dlv_anchor->name)) {