debug("setup_lookup(%p)", lookup);
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER,
- &lookup->sendmsg);
- check_result(result, "dns_message_create");
+ dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &lookup->sendmsg);
if (lookup->new_search) {
debug("resetting lookup counter.");
goto udp_mismatch;
}
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &msg);
- check_result(result, "dns_message_create");
+ dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &msg);
if (tsigkey != NULL) {
if (l->querysig == NULL) {
static void
reset_system(void) {
- isc_result_t result;
-
ddebug("reset_system()");
/* If the update message is still around, destroy it */
if (updatemsg != NULL) {
dns_message_reset(updatemsg, DNS_MESSAGE_INTENTRENDER);
} else {
- result = dns_message_create(gmctx, DNS_MESSAGE_INTENTRENDER,
- &updatemsg);
- check_result(result, "dns_message_create");
+ dns_message_create(gmctx, DNS_MESSAGE_INTENTRENDER, &updatemsg);
}
updatemsg->opcode = dns_opcode_update;
if (usegsstsig) {
}
LOCK(&answer_lock);
- result = dns_message_create(gmctx, DNS_MESSAGE_INTENTPARSE, &answer);
- check_result(result, "dns_message_create");
+ dns_message_create(gmctx, DNS_MESSAGE_INTENTPARSE, &answer);
result = dns_request_getresponse(request, answer,
DNS_MESSAGEPARSE_PRESERVEORDER);
switch (result) {
reqev = NULL;
ddebug("About to create rcvmsg");
- result = dns_message_create(gmctx, DNS_MESSAGE_INTENTPARSE, &rcvmsg);
- check_result(result, "dns_message_create");
+ dns_message_create(gmctx, DNS_MESSAGE_INTENTPARSE, &rcvmsg);
result = dns_request_getresponse(request, rcvmsg,
DNS_MESSAGEPARSE_PRESERVEORDER);
if (result == DNS_R_TSIGERRORSET && servers != NULL) {
keyname->attributes |= DNS_NAMEATTR_NOCOMPRESS;
rmsg = NULL;
- result = dns_message_create(gmctx, DNS_MESSAGE_INTENTRENDER, &rmsg);
- if (result != ISC_R_SUCCESS) {
- fatal("dns_message_create failed: %s",
- isc_result_totext(result));
- }
+ dns_message_create(gmctx, DNS_MESSAGE_INTENTRENDER, &rmsg);
/* Build first request. */
context = GSS_C_NO_CONTEXT;
reqev = NULL;
ddebug("recvgss creating rcvmsg");
- result = dns_message_create(gmctx, DNS_MESSAGE_INTENTPARSE, &rcvmsg);
- check_result(result, "dns_message_create");
+ dns_message_create(gmctx, DNS_MESSAGE_INTENTPARSE, &rcvmsg);
result = dns_request_getresponse(request, rcvmsg,
DNS_MESSAGEPARSE_PRESERVEORDER);
return;
}
- result = dns_message_create(gmctx, DNS_MESSAGE_INTENTRENDER, &soaquery);
- check_result(result, "dns_message_create");
+ dns_message_create(gmctx, DNS_MESSAGE_INTENTRENDER, &soaquery);
if (default_servers) {
soaquery->flags |= DNS_MESSAGEFLAG_RD;
query = reqev->ev_arg;
response = NULL;
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
- CHECK("dns_message_create", result);
+ dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
result = dns_request_getresponse(reqev->request, response,
DNS_MESSAGEPARSE_PRESERVEORDER);
CHECK("dns_name_fromtext", result);
message = NULL;
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &message);
- CHECK("dns_message_create", result);
+ dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &message);
message->opcode = dns_opcode_query;
message->flags |= DNS_MESSAGEFLAG_RD;
query = reqev->ev_arg;
response = NULL;
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
- CHECK("dns_message_create", result);
+ dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
result = dns_request_getresponse(reqev->request, response,
DNS_MESSAGEPARSE_PRESERVEORDER);
CHECK("dns_tsigkey_create", result);
query = NULL;
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &query);
- CHECK("dns_message_create", result);
+ dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &query);
result = dns_tkey_builddhquery(query, ourkey,
dns_fixedname_name(&ownername),
query = reqev->ev_arg;
response = NULL;
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
- CHECK("dns_message_create", result);
+ dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
result = dns_request_getresponse(reqev->request, response,
DNS_MESSAGEPARSE_PRESERVEORDER);
isc_sockaddr_fromin(&address, &inaddr, port);
query = NULL;
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &query);
- CHECK("dns_message_create", result);
+ dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &query);
result = dns_tkey_builddeletequery(query, tsigkey);
CHECK("dns_tkey_builddeletequery", result);
int i;
message = NULL;
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &message);
- CHECKRESULT(result, "dns_message_create failed");
+ dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &message);
result = dns_message_parse(message, source, parseflags);
if (result == DNS_R_RECOVERABLE) {
isc_mem_stats(mctx, stdout);
}
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE,
- &message);
- CHECKRESULT(result, "dns_message_create failed");
+ dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &message);
result = dns_message_parse(message, &buffer, parseflags);
CHECKRESULT(result, "dns_message_parse failed");
}
}
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
- CHECK("dns_message_create", result);
+ dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
parseflags |= DNS_MESSAGEPARSE_PRESERVEORDER;
if (besteffort) {
CHECK("dns_name_fromtext", result);
message = NULL;
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &message);
- CHECK("dns_message_create", result);
+ dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &message);
message->opcode = dns_opcode_query;
if (query->recurse) {
--- /dev/null
+@@
+statement S;
+expression V;
+@@
+
+- V =
+ dns_message_create(...);
+- if (V != ISC_R_SUCCESS) S
+
+@@
+statement S1, S2;
+expression V;
+@@
+
+- V =
+ dns_message_create(...);
+- if (V == ISC_R_SUCCESS)
+ S1
+- else S2
+
+@@
+expression V;
+@@
+
+- V =
+ dns_message_create(...);
+- check_result(V, ...);
+
+@@
+@@
+
+- CHECK(
+ dns_message_create(...)
+- )
+ ;
+
+@@
+@@
+
+- DO(...,
+ dns_message_create(...)
+- )
+ ;
+
+@@
+@@
+
+- RETERR(
+ dns_message_create(...)
+- )
+ ;
+
+@@
+expression V;
+@@
+
+- V =
+ dns_message_create(...);
+- assert_int_equal(V, ISC_R_SUCCESS);
+
+@@
+expression V;
+@@
+
+- V =
+ dns_message_create(...);
+- CHECK(..., V);
+
+@@
+expression V;
+statement S;
+@@
+
+- V =
+ dns_message_create(...);
+- if (ISC_UNLIKELY(V != ISC_R_SUCCESS)) S
+
+@@
+expression V;
+@@
+
+- V =
+ dns_message_create(...);
+- RUNTIME_CHECK(V == ISC_R_SUCCESS);
isc_result_t result;
dns_message_t *message = NULL;
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &message);
- if (result != ISC_R_SUCCESS) {
- return (result);
- }
+ dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &message);
result = dns_message_parse(message, input, DNS_MESSAGEPARSE_BESTEFFORT);
if (result == DNS_R_RECOVERABLE) {
goto out;
}
- result = dns_message_create(client->mctx, DNS_MESSAGE_INTENTPARSE,
- &answer);
- if (result != ISC_R_SUCCESS) {
- goto out;
- }
+ dns_message_create(client->mctx, DNS_MESSAGE_INTENTPARSE, &answer);
uctx->state = dns_clientupdatestate_done;
result = dns_request_getresponse(request, answer,
DNS_MESSAGEPARSE_PRESERVEORDER);
goto out;
}
- result = dns_message_create(uctx->client->mctx, DNS_MESSAGE_INTENTPARSE,
- &rcvmsg);
- if (result != ISC_R_SUCCESS) {
- goto out;
- }
+ dns_message_create(uctx->client->mctx, DNS_MESSAGE_INTENTPARSE,
+ &rcvmsg);
result = dns_request_getresponse(request, rcvmsg,
DNS_MESSAGEPARSE_PRESERVEORDER);
unsigned int reqoptions;
if (soaquery == NULL) {
- result = dns_message_create(uctx->client->mctx,
- DNS_MESSAGE_INTENTRENDER,
- &soaquery);
- if (result != ISC_R_SUCCESS) {
- return (result);
- }
+ dns_message_create(uctx->client->mctx, DNS_MESSAGE_INTENTRENDER,
+ &soaquery);
}
soaquery->flags |= DNS_MESSAGEFLAG_RD;
result = dns_message_gettempname(soaquery, &name);
}
/* Make update message */
- result = dns_message_create(client->mctx, DNS_MESSAGE_INTENTRENDER,
- &uctx->updatemsg);
- if (result != ISC_R_SUCCESS) {
- goto fail;
- }
+ dns_message_create(client->mctx, DNS_MESSAGE_INTENTRENDER,
+ &uctx->updatemsg);
uctx->updatemsg->opcode = dns_opcode_update;
if (prerequisites != NULL) {
isc_buffer_init(&b, d->msgdata.base, d->msgdata.length);
isc_buffer_add(&b, d->msgdata.length);
- CHECK(dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &d->msg));
+ dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &d->msg);
result = dns_message_parse(d->msg, &b, 0);
if (result != ISC_R_SUCCESS) {
if (result != DNS_R_RECOVERABLE) {
* information regarding copyright ownership.
*/
-#ifndef DNS_MESSAGE_H
-#define DNS_MESSAGE_H 1
+#pragma once
/***
*** Imports
struct dns_message {
/* public from here down */
- unsigned int magic;
- isc_refcount_t refcount;
+ unsigned int magic;
+ isc_refcount_t refcount;
dns_messageid_t id;
unsigned int flags;
ISC_LANG_BEGINDECLS
-isc_result_t
+void
dns_message_create(isc_mem_t *mctx, unsigned int intent, dns_message_t **msgp);
/*%<
*/
ISC_LANG_ENDDECLS
-
-#endif /* DNS_MESSAGE_H */
return (26 + r1.length + r2.length + x + otherlen);
}
-isc_result_t
+void
dns_message_create(isc_mem_t *mctx, unsigned int intent, dns_message_t **msgp) {
dns_message_t *m;
isc_buffer_t *dynbuf;
m = isc_mem_get(mctx, sizeof(dns_message_t));
- /*
- * No allocations until further notice. Just initialize all lists
- * and other members that are freed in the cleanup phase here.
- */
-
m->magic = DNS_MESSAGE_MAGIC;
m->from_to_wire = intent;
msginit(m);
ISC_LIST_INIT(m->freerdata);
ISC_LIST_INIT(m->freerdatalist);
- /*
- * Ok, it is safe to allocate (and then "goto cleanup" if failure)
- */
-
isc_mempool_create(m->mctx, sizeof(dns_name_t), &m->namepool);
isc_mempool_setfillcount(m->namepool, NAME_COUNT);
isc_mempool_setfreemax(m->namepool, NAME_COUNT);
isc_refcount_init(&m->refcount, 1);
*msgp = m;
- return (ISC_R_SUCCESS);
}
void
query = isc_mem_get(fctx->mctx, sizeof(*query));
query->rmessage = NULL;
- result = dns_message_create(fctx->mctx, DNS_MESSAGE_INTENTPARSE,
- &query->rmessage);
+ dns_message_create(fctx->mctx, DNS_MESSAGE_INTENTPARSE,
+ &query->rmessage);
query->mctx = fctx->mctx;
query->options = options;
query->attributes = 0;
}
fctx->qmessage = NULL;
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER,
- &fctx->qmessage);
-
- if (result != ISC_R_SUCCESS) {
- goto cleanup_fcount;
- }
+ dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &fctx->qmessage);
/*
* Compute an expiration time for the entire fetch.
dns_compress_t cctx;
isc_result_t result;
- result = dns_message_create(dt_mctx, DNS_MESSAGE_INTENTRENDER, &msg);
- assert_int_equal(result, ISC_R_SUCCESS);
+ dns_message_create(dt_mctx, DNS_MESSAGE_INTENTRENDER, &msg);
assert_non_null(msg);
msg->id = 50;
/*
* Process response message 1.
*/
- result = dns_message_create(dt_mctx, DNS_MESSAGE_INTENTPARSE, &msg);
- assert_int_equal(result, ISC_R_SUCCESS);
+ dns_message_create(dt_mctx, DNS_MESSAGE_INTENTPARSE, &msg);
assert_non_null(msg);
result = dns_message_settsigkey(msg, key);
/*
* Process response message 2.
*/
- result = dns_message_create(dt_mctx, DNS_MESSAGE_INTENTPARSE, &msg);
- assert_int_equal(result, ISC_R_SUCCESS);
+ dns_message_create(dt_mctx, DNS_MESSAGE_INTENTPARSE, &msg);
assert_non_null(msg);
msg->tcp_continuation = 1;
/*
* Process response message 3.
*/
- result = dns_message_create(dt_mctx, DNS_MESSAGE_INTENTPARSE, &msg);
- assert_int_equal(result, ISC_R_SUCCESS);
+ dns_message_create(dt_mctx, DNS_MESSAGE_INTENTPARSE, &msg);
assert_non_null(msg);
msg->tcp_continuation = 1;
dns_name_t *msgsoaname = NULL;
/* Create the request message */
- CHECK(dns_message_create(xfr->mctx, DNS_MESSAGE_INTENTRENDER, &msg));
+ dns_message_create(xfr->mctx, DNS_MESSAGE_INTENTRENDER, &msg);
CHECK(dns_message_settsigkey(msg, xfr->tsigkey));
/* Create a name for the question section. */
CHECK(isc_timer_touch(xfr->timer));
- CHECK(dns_message_create(xfr->mctx, DNS_MESSAGE_INTENTPARSE, &msg));
+ dns_message_create(xfr->mctx, DNS_MESSAGE_INTENTPARSE, &msg);
CHECK(dns_message_settsigkey(msg, xfr->tsigkey));
CHECK(dns_message_setquerytsig(msg, xfr->lasttsig));
goto next_master;
}
- result = dns_message_create(zone->mctx, DNS_MESSAGE_INTENTPARSE, &msg);
- if (result != ISC_R_SUCCESS) {
- goto next_master;
- }
+ dns_message_create(zone->mctx, DNS_MESSAGE_INTENTPARSE, &msg);
result = dns_request_getresponse(revent->request, msg, 0);
if (result != ISC_R_SUCCESS) {
goto next_master;
}
- result = dns_message_create(zone->mctx, DNS_MESSAGE_INTENTPARSE, &msg);
- if (result != ISC_R_SUCCESS) {
- goto next_master;
- }
+ dns_message_create(zone->mctx, DNS_MESSAGE_INTENTPARSE, &msg);
result = dns_request_getresponse(revent->request, msg, 0);
if (result != ISC_R_SUCCESS) {
dns_zone_log(zone, ISC_LOG_INFO,
dns_rdataset_t *qrdataset = NULL;
isc_result_t result;
- result = dns_message_create(zone->mctx, DNS_MESSAGE_INTENTRENDER,
- &message);
- if (result != ISC_R_SUCCESS) {
- goto cleanup;
- }
+ dns_message_create(zone->mctx, DNS_MESSAGE_INTENTRENDER, &message);
message->opcode = dns_opcode_query;
message->rdclass = zone->rdclass;
REQUIRE(DNS_ZONE_VALID(zone));
REQUIRE(messagep != NULL && *messagep == NULL);
- result = dns_message_create(zone->mctx, DNS_MESSAGE_INTENTRENDER,
- &message);
- if (result != ISC_R_SUCCESS) {
- return (result);
- }
+ dns_message_create(zone->mctx, DNS_MESSAGE_INTENTRENDER, &message);
message->opcode = dns_opcode_notify;
message->flags |= DNS_MESSAGEFLAG_AA;
isc_buffer_init(&buf, rcode, sizeof(rcode));
isc_sockaddr_format(¬ify->dst, addrbuf, sizeof(addrbuf));
+ dns_message_create(notify->zone->mctx, DNS_MESSAGE_INTENTPARSE,
+ &message);
result = revent->result;
- if (result == ISC_R_SUCCESS) {
- result = dns_message_create(notify->zone->mctx,
- DNS_MESSAGE_INTENTPARSE, &message);
- }
if (result == ISC_R_SUCCESS) {
result =
dns_request_getresponse(revent->request, message,
* the soa if we see a formerr and had sent a SOA.
*/
isc_event_free(&event);
- if (message != NULL && message->rcode == dns_rcode_formerr &&
+ if (message->rcode == dns_rcode_formerr &&
(notify->flags & DNS_NOTIFY_NOSOA) == 0)
{
bool startup;
}
notify_destroy(notify, false);
}
- if (message != NULL) {
- dns_message_detach(&message);
- }
+ dns_message_detach(&message);
}
struct secure_event {
goto next_master;
}
- result = dns_message_create(zone->mctx, DNS_MESSAGE_INTENTPARSE, &msg);
- if (result != ISC_R_SUCCESS) {
- goto next_master;
- }
+ dns_message_create(zone->mctx, DNS_MESSAGE_INTENTPARSE, &msg);
result = dns_request_getresponse(revent->request, msg,
DNS_MESSAGEPARSE_PRESERVEORDER |
ns_server_attach(mgr->sctx, &client->sctx);
get_clienttask(mgr, &client->task);
- result = dns_message_create(client->mctx,
- DNS_MESSAGE_INTENTPARSE,
- &client->message);
- if (result != ISC_R_SUCCESS) {
- goto cleanup;
- }
+ dns_message_create(client->mctx, DNS_MESSAGE_INTENTPARSE,
+ &client->message);
client->sendbuf = isc_mem_get(client->mctx,
NS_CLIENT_SEND_BUFFER_SIZE);
char rcodebuf[20];
isc_buffer_t b;
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &message);
- assert_int_equal(result, ISC_R_SUCCESS);
+ dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &message);
result = dns_message_parse(message, buf, 0);
assert_int_equal(result, ISC_R_SUCCESS);
isc_buffer_init(&nbuf, ndata, nsize);
isc_buffer_add(&nbuf, nsize);
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &nmsg);
- assert_int_equal(result, ISC_R_SUCCESS);
+ dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &nmsg);
result = dns_message_parse(nmsg, &nbuf, 0);
assert_int_equal(result, ISC_R_SUCCESS);
/*
* Create a new DNS message holding a query.
*/
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &message);
- if (result != ISC_R_SUCCESS) {
- return (result);
- }
+ dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &message);
/*
* Set query ID to a random value.
* message.
*/
- CHECK(dns_message_create(xfr->mctx, DNS_MESSAGE_INTENTRENDER,
- &tcpmsg));
+ dns_message_create(xfr->mctx, DNS_MESSAGE_INTENTRENDER,
+ &tcpmsg);
msg = tcpmsg;
msg->id = xfr->id;
probes[i].reqid = NULL;
probes[i].qmessage = NULL;
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER,
- &probes[i].qmessage);
- if (result == ISC_R_SUCCESS) {
- result = dns_message_create(mctx,
- DNS_MESSAGE_INTENTPARSE,
- &probes[i].rmessage);
- }
- if (result != ISC_R_SUCCESS) {
- fprintf(stderr, "initialization failure\n");
- exit(1);
- }
+ dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER,
+ &probes[i].qmessage);
+ dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE,
+ &probes[i].rmessage);
}
for (i = 0; i < MAX_PROBES; i++) {
result = probe_domain(&probes[i]);
rmessage = NULL;
isc_mem_create(&mctx);
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &qmessage);
- if (result == ISC_R_SUCCESS) {
- result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE,
- &rmessage);
- }
- if (result != ISC_R_SUCCESS) {
- fprintf(stderr, "failed to create messages\n");
- exit(1);
- }
+ dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &qmessage);
+ dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &rmessage);
/* Initialize the nameserver address */
memset(&hints, 0, sizeof(hints));