isc_buffer_constinit(&buffer, zonename, strlen(zonename));
isc_buffer_add(&buffer, strlen(zonename));
origin = dns_fixedname_initname(&fixorigin);
- CHECK(dns_name_fromtext(origin, &buffer, dns_rootname, 0, NULL));
+ CHECK(dns_name_fromtext(origin, &buffer, dns_rootname, 0));
dns_zone_setorigin(zone, origin);
dns_zone_setdbtype(zone, 1, (const char *const *)dbtype);
if (strcmp(filename, "-") == 0) {
isc_buffer_add(&b, len);
n = dns_fixedname_initname(fn);
- result = dns_name_fromtext(n, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(n, &b, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
delv_log(ISC_LOG_ERROR, "failed to convert name %s: %s", text,
isc_result_totext(result));
goto failure;
}
- result = dns_name_fromtext(keyname, namebuf, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(keyname, namebuf, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
goto failure;
}
len = (unsigned int)strlen(origin);
isc_buffer_init(&b, origin, len);
isc_buffer_add(&b, len);
- result = dns_name_fromtext(lookup->oname, &b, dns_rootname, 0,
- NULL);
+ result = dns_name_fromtext(lookup->oname, &b, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
dns_message_puttempname(lookup->sendmsg, &lookup->name);
dns_message_puttempname(lookup->sendmsg,
len = (unsigned int)strlen(textname);
isc_buffer_init(&b, textname, len);
isc_buffer_add(&b, len);
- result = dns_name_fromtext(name, &b, NULL, 0, NULL);
+ result = dns_name_fromtext(name, &b, NULL, 0);
if (result == ISC_R_SUCCESS) {
if (!dns_name_isabsolute(name)) {
result = dns_name_concatenate(
isc_buffer_init(&b, textname, len);
isc_buffer_add(&b, len);
result = dns_name_fromtext(lookup->name, &b,
- dns_rootname, 0, NULL);
+ dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
dns_message_puttempname(lookup->sendmsg,
&lookup->name);
isc_buffer_init(&buf, setname, strlen(setname));
isc_buffer_add(&buf, strlen(setname));
- result = dns_name_fromtext(name, &buf, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name, &buf, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
fatal("could not initialize name %s", setname);
}
isc_buffer_init(&buf, setname, strlen(setname));
isc_buffer_add(&buf, strlen(setname));
- result = dns_name_fromtext(name, &buf, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name, &buf, dns_rootname, 0);
return result;
}
isc_buffer_init(&buf, setname, strlen(setname));
isc_buffer_add(&buf, strlen(setname));
- result = dns_name_fromtext(name, &buf, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name, &buf, dns_rootname, 0);
return result;
}
isc_buffer_init(&buf, argv[isc_commandline_index],
strlen(argv[isc_commandline_index]));
isc_buffer_add(&buf, strlen(argv[isc_commandline_index]));
- ret = dns_name_fromtext(name, &buf, dns_rootname, 0, NULL);
+ ret = dns_name_fromtext(name, &buf, dns_rootname, 0);
if (ret != ISC_R_SUCCESS) {
fatal("invalid key name %s: %s",
argv[isc_commandline_index],
isc_buffer_init(&buf, argv[isc_commandline_index],
strlen(argv[isc_commandline_index]));
isc_buffer_add(&buf, strlen(argv[isc_commandline_index]));
- ret = dns_name_fromtext(name, &buf, dns_rootname, 0, NULL);
+ ret = dns_name_fromtext(name, &buf, dns_rootname, 0);
if (ret != ISC_R_SUCCESS) {
fatal("invalid key name %s: %s",
argv[isc_commandline_index],
dname = dns_fixedname_initname(&dfname);
isc_buffer_init(&b, owner, strlen(owner));
isc_buffer_add(&b, strlen(owner));
- ret = dns_name_fromtext(dname, &b, dns_rootname, 0, NULL);
+ ret = dns_name_fromtext(dname, &b, dns_rootname, 0);
if (ret != ISC_R_SUCCESS) {
return ret;
}
name = dns_fixedname_initname(&fname);
isc_buffer_init(&buf, argv[1], strlen(argv[1]));
isc_buffer_add(&buf, strlen(argv[1]));
- ret = dns_name_fromtext(name, &buf, dns_rootname, 0, NULL);
+ ret = dns_name_fromtext(name, &buf, dns_rootname, 0);
if (ret != ISC_R_SUCCESS) {
fatal("invalid zone name %s: %s", argv[1],
isc_result_totext(ret));
isc_buffer_add(&b, len);
name = dns_fixedname_initname(&fname);
- result = dns_name_fromtext(name, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name, &b, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
fatal("failed converting name '%s' to dns format: %s", origin,
isc_result_totext(result));
isc_buffer_add(&b, len);
name = dns_fixedname_initname(&fname);
- result = dns_name_fromtext(name, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name, &b, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
fatal("failed converting name '%s' to dns format: %s", origin,
isc_result_totext(result));
isc_buffer_add(&b, strlen(objstr));
dns_fixedname_init(&fname);
result = dns_name_fromtext(dns_fixedname_name(&fname), &b, dns_rootname,
- 0, NULL);
+ 0);
if (result != ISC_R_SUCCESS) {
isc_mem_put(mctx, *namep, sizeof(**namep));
*namep = NULL;
str = cfg_obj_asstring(nameobj);
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
- CHECK(dns_name_fromtext(name, &b, dns_rootname, 0, NULL));
+ CHECK(dns_name_fromtext(name, &b, dns_rootname, 0));
result = dns_nametree_add(*ntp, name, true);
if (result != ISC_R_SUCCESS) {
cfg_obj_log(nameobj, ISC_LOG_ERROR,
name = dns_fixedname_initname(&fname);
isc_buffer_constinit(&namebuf, namestr, strlen(namestr));
isc_buffer_add(&namebuf, strlen(namestr));
- CHECK(dns_name_fromtext(name, &namebuf, dns_rootname, 0, NULL));
+ CHECK(dns_name_fromtext(name, &namebuf, dns_rootname, 0));
if (*initialp) {
atstr = cfg_obj_asstring(cfg_tuple_get(key, "anchortype"));
isc_buffer_constinit(&b, namestr, strlen(namestr));
isc_buffer_add(&b, strlen(namestr));
keyname = dns_fixedname_initname(&fkeyname);
- result = dns_name_fromtext(keyname, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(keyname, &b, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
return result;
}
isc_buffer_add(&b, strlen(str));
dns_fixedname_init(&fixed);
result = dns_name_fromtext(dns_fixedname_name(&fixed), &b, dns_rootname,
- 0, NULL);
+ 0);
if (result != ISC_R_SUCCESS) {
return result;
}
str = cfg_obj_asstring(cfg_tuple_get(disabled, "name"));
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
- CHECK(dns_name_fromtext(name, &b, dns_rootname, 0, NULL));
+ CHECK(dns_name_fromtext(name, &b, dns_rootname, 0));
algorithms = cfg_tuple_get(disabled, "algorithms");
for (element = cfg_list_first(algorithms); element != NULL;
str = cfg_obj_asstring(cfg_tuple_get(disabled, "name"));
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
- CHECK(dns_name_fromtext(name, &b, dns_rootname, 0, NULL));
+ CHECK(dns_name_fromtext(name, &b, dns_rootname, 0));
digests = cfg_tuple_get(disabled, "digests");
for (element = cfg_list_first(digests); element != NULL;
str = cfg_obj_asstring(value);
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
- result = dns_name_fromtext(name, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name, &b, dns_rootname, 0);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
if (dns_name_equal(name, zonename)) {
return true;
name = dns_fixedname_initname(&fixed);
isc_buffer_constinit(&b, reverse, strlen(reverse));
isc_buffer_add(&b, strlen(reverse));
- CHECK(dns_name_fromtext(name, &b, dns_rootname, 0, NULL));
+ CHECK(dns_name_fromtext(name, &b, dns_rootname, 0));
dns_zone_create(&zone, mctx, 0);
dns_zone_setorigin(zone, name);
dns_zone_setview(zone, view);
isc_buffer_constinit(&buffer, str, strlen(str));
isc_buffer_add(&buffer, strlen(str));
name = dns_fixedname_initname(&fixed);
- CHECK(dns_name_fromtext(name, &buffer, dns_rootname, 0,
- NULL));
+ CHECK(dns_name_fromtext(name, &buffer, dns_rootname,
+ 0));
portobj = cfg_tuple_get(alternate, "port");
if (cfg_obj_isuint32(portobj)) {
isc_buffer_add(&buffer, strlen(zname));
dns_fixedname_init(&fixorigin);
CHECK(dns_name_fromtext(dns_fixedname_name(&fixorigin), &buffer,
- dns_rootname, 0, NULL));
+ dns_rootname, 0));
origin = dns_fixedname_name(&fixorigin);
CHECK(named_config_getclass(cfg_tuple_get(zconfig, "class"),
isc_buffer_constinit(&buffer, keynamestr, strlen(keynamestr));
isc_buffer_add(&buffer, strlen(keynamestr));
keyname = dns_fixedname_initname(&fname);
- result = dns_name_fromtext(keyname, &buffer, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(keyname, &buffer, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
return result;
}
isc_buffer_constinit(&b, zonename, strlen(zonename));
isc_buffer_add(&b, strlen(zonename));
name = dns_fixedname_initname(&fname);
- CHECK(dns_name_fromtext(name, &b, dns_rootname, DNS_NAME_DOWNCASE,
- NULL));
+ CHECK(dns_name_fromtext(name, &b, dns_rootname, DNS_NAME_DOWNCASE));
dns_name_format(name, zname, sizeof(zname));
key.mv_data = zname;
isc_buffer_constinit(&b, target, strlen(target));
isc_buffer_add(&b, strlen(target));
name = dns_fixedname_initname(&fixed);
- result = dns_name_fromtext(name, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name, &b, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
return result;
}
isc_buffer_add(&b, strlen(origin));
name = dns_fixedname_initname(&fname);
CHECK(dns_name_fromtext(name, &b, dns_rootname,
- DNS_NAME_DOWNCASE, NULL));
+ DNS_NAME_DOWNCASE));
dns_name_format(name, zname, sizeof(zname));
key.mv_data = zname;
isc_buffer_add(&buf, strlen(zonename));
dnsname = dns_fixedname_initname(&fname);
- CHECK(dns_name_fromtext(dnsname, &buf, dns_rootname, 0, NULL));
+ CHECK(dns_name_fromtext(dnsname, &buf, dns_rootname, 0));
if (redirect) {
if (!dns_name_equal(dnsname, dns_rootname)) {
isc_buffer_t b;
isc_buffer_init(&b, namebuf, strlen(namebuf));
isc_buffer_add(&b, strlen(namebuf));
- CHECK(dns_name_fromtext(fname, &b, dns_rootname, 0, NULL));
+ CHECK(dns_name_fromtext(fname, &b, dns_rootname, 0));
ntaname = fname;
}
isc_buffer_constinit(&b, s, strlen(s));
isc_buffer_add(&b, strlen(s));
name = dns_fixedname_initname(&fname);
- RETERR(dns_name_fromtext(name, &b, dns_rootname, 0, NULL));
+ RETERR(dns_name_fromtext(name, &b, dns_rootname, 0));
tctx->domain = isc_mem_get(mctx, sizeof(dns_name_t));
dns_name_init(tctx->domain);
dns_name_dup(name, mctx, tctx->domain);
isc_buffer_constinit(&b, s, strlen(s));
isc_buffer_add(&b, strlen(s));
name = dns_fixedname_initname(&fname);
- RETERR(dns_name_fromtext(name, &b, dns_rootname, 0, NULL));
+ RETERR(dns_name_fromtext(name, &b, dns_rootname, 0));
RETERR(dst_gssapi_acquirecred(name, false, &tctx->gsscred));
}
isc_buffer_constinit(&namesrc, id, strlen(id)); \
isc_buffer_add(&namesrc, strlen(id)); \
result = (dns_name_fromtext(name, &namesrc, dns_rootname, \
- DNS_NAME_DOWNCASE, NULL)); \
+ DNS_NAME_DOWNCASE)); \
if (result != ISC_R_SUCCESS) { \
goto failure; \
}
isc_buffer_constinit(&keynamesrc, keyid, strlen(keyid));
isc_buffer_add(&keynamesrc, strlen(keyid));
ret = dns_name_fromtext(keyname, &keynamesrc, dns_rootname,
- DNS_NAME_DOWNCASE, NULL);
+ DNS_NAME_DOWNCASE);
if (ret != ISC_R_SUCCESS) {
goto failure;
}
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
result = dns_name_fromtext(dns_fixedname_name(&fident), &b,
- dns_rootname, 0, NULL);
+ dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
cfg_obj_log(identity, ISC_LOG_ERROR,
"'%s' is not a valid name", str);
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
result = dns_name_fromtext(dns_fixedname_name(&fname),
- &b, dns_rootname, 0, NULL);
+ &b, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
cfg_obj_log(identity, ISC_LOG_ERROR,
"'%s' is not a valid name", str);
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
- result = dns_name_fromtext(nsname, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(nsname, &b, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
cfg_obj_log(zconfig, ISC_LOG_ERROR,
"server-name '%s' is not a valid "
isc_buffer_add(&keynamesrc, (unsigned int)(n - name));
debug("namefromtext");
- result = dns_name_fromtext(mykeyname, &keynamesrc, dns_rootname, 0,
- NULL);
+ result = dns_name_fromtext(mykeyname, &keynamesrc, dns_rootname, 0);
check_result(result, "dns_name_fromtext");
secretlen = strlen(secretstr) * 3 / 4;
isc_buffer_add(&namesrc, strlen(str));
return dns_name_fromtext(name, &namesrc, dns_rootname,
- DNS_NAME_DOWNCASE, NULL);
+ DNS_NAME_DOWNCASE);
}
static void
dns_message_gettempname(msg, namep);
isc_buffer_init(&source, word, strlen(word));
isc_buffer_add(&source, strlen(word));
- result = dns_name_fromtext(*namep, &source, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(*namep, &source, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
error("invalid owner name: %s", isc_result_totext(result));
isc_buffer_invalidate(&source);
isc_buffer_init(&b, namestr, strlen(namestr));
isc_buffer_add(&b, strlen(namestr));
- result = dns_name_fromtext(mykeyname, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(mykeyname, &b, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "could not parse key name\n");
return STATUS_SYNTAX;
userzone = dns_fixedname_initname(&fuserzone);
isc_buffer_init(&b, word, strlen(word));
isc_buffer_add(&b, strlen(word));
- result = dns_name_fromtext(userzone, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(userzone, &b, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
userzone = NULL; /* Lest it point to an invalid name */
fprintf(stderr, "could not parse zone name\n");
RUNTIME_CHECK(result < sizeof(servicename));
isc_buffer_init(&buf, servicename, strlen(servicename));
isc_buffer_add(&buf, strlen(servicename));
- result = dns_name_fromtext(servname, &buf, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(servname, &buf, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
fatal("dns_name_fromtext(servname) failed: %s",
isc_result_totext(result));
isc_buffer_init(&buf, mykeystr, strlen(mykeystr));
isc_buffer_add(&buf, strlen(mykeystr));
- result = dns_name_fromtext(keyname, &buf, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(keyname, &buf, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
fatal("dns_name_fromtext(keyname) failed: %s",
isc_result_totext(result));
servname = dns_fixedname_initname(&fname);
isc_buffer_init(&buf, servicename, strlen(servicename));
isc_buffer_add(&buf, strlen(servicename));
- result = dns_name_fromtext(servname, &buf, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(servname, &buf, dns_rootname, 0);
check_result(result, "dns_name_fromtext");
result = dns_tkey_gssnegotiate(tsigquery, rcvmsg, servname, &context,
isc_buffer_init(&buf, host, strlen(host));
isc_buffer_add(&buf, strlen(host));
result = dns_name_fromtext(dns_fixedname_name(&queryname), &buf,
- dns_rootname, 0, NULL);
+ dns_rootname, 0);
CHECK("dns_name_fromtext", result);
dns_message_create(mctx, NULL, NULL, DNS_MESSAGE_INTENTRENDER,
isc_buffer_init(&buf, query->textname, strlen(query->textname));
isc_buffer_add(&buf, strlen(query->textname));
result = dns_name_fromtext(dns_fixedname_name(&queryname), &buf,
- dns_rootname, 0, NULL);
+ dns_rootname, 0);
CHECK("dns_name_fromtext", result);
dns_message_create(mctx, NULL, NULL, DNS_MESSAGE_INTENTRENDER,
name = dns_fixedname_initname(&fixed);
isc_buffer_constinit(&buffer, domain, strlen(domain));
isc_buffer_add(&buffer, strlen(domain));
- result = dns_name_fromtext(name, &buffer, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name, &buffer, dns_rootname, 0);
check_result(result, "dns_name_fromtext() failed");
dns_name_downcase(name, name);
isc_buffer_setactive(&buf, size);
result = dns_name_fromtext(dns_fixedname_name(&origin), &buf,
- dns_rootname, 0, NULL);
+ dns_rootname, 0);
if (debug) {
fprintf(stderr, "dns_name_fromtext: %s\n",
isc_result_totext(result));
len = (unsigned int)strlen(textname);
isc_buffer_init(&buffer, textname, len);
isc_buffer_add(&buffer, len);
- return dns_name_fromtext(name, &buffer, dns_rootname, 0, NULL);
+ return dns_name_fromtext(name, &buffer, dns_rootname, 0);
}
isc_buffer_add(&buffer, strlen(zone_name));
dns_fixedname_init(&fixorigin);
result = dns_name_fromtext(dns_fixedname_name(&fixorigin), &buffer,
- dns_rootname, 0, NULL);
+ dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
goto cleanup;
}
dns_fixedname_init(&name);
isc_buffer_init(&b, DST_AS_STR(token), strlen(DST_AS_STR(token)));
isc_buffer_add(&b, strlen(DST_AS_STR(token)));
- ret = dns_name_fromtext(dns_fixedname_name(&name), &b, dns_rootname, 0,
- NULL);
+ ret = dns_name_fromtext(dns_fixedname_name(&name), &b, dns_rootname, 0);
if (ret != ISC_R_SUCCESS) {
goto cleanup;
}
isc_buffer_init(&namebuf, r.base, r.length);
isc_buffer_add(&namebuf, r.length);
- RETERR(dns_name_fromtext(principal, &namebuf, dns_rootname, 0,
- NULL));
+ RETERR(dns_name_fromtext(principal, &namebuf, dns_rootname, 0));
if (gnamebuf.length != 0U) {
gret = gss_release_buffer(&minor, &gnamebuf);
isc_result_t
dns_name_fromtext(dns_name_t *name, isc_buffer_t *source,
- const dns_name_t *origin, unsigned int options,
- isc_buffer_t *target);
+ const dns_name_t *origin, unsigned int options);
/*%<
- * Convert the textual representation of a DNS name at source
- * into uncompressed wire form stored in target.
+ * Convert the textual representation of a DNS name in 'source'
+ * and store it in 'name'.
*
* Notes:
* \li Relative domain names will have 'origin' appended to them
*
* Requires:
*
- * \li 'name' is a valid name.
+ * \li 'name' is a valid name with a dedicated buffer.
*
* \li 'source' is a valid buffer.
*
- * \li 'target' is a valid buffer or 'target' is NULL and 'name' has
- * a dedicated buffer.
- *
* Ensures:
*
* If result is success:
- * \li If 'target' is not NULL, 'name' is attached to it.
+ * \li Uppercase letters are downcased in the copy iff
+ * DNS_NAME_DOWNCASE is set in 'options'.
*
+ * \li The current location in source is advanced.
+ *
+ * Result:
+ *\li #ISC_R_SUCCESS
+ *\li #DNS_R_EMPTYLABEL
+ *\li #DNS_R_LABELTOOLONG
+ *\li #DNS_R_BADESCAPE
+ *\li #DNS_R_BADDOTTEDQUAD
+ *\li #ISC_R_NOSPACE
+ *\li #ISC_R_UNEXPECTEDEND
+ */
+
+isc_result_t
+dns_name_wirefromtext(isc_buffer_t *source, const dns_name_t *origin,
+ unsigned int options, isc_buffer_t *target);
+/*%<
+ * Convert the textual representation of a DNS name in 'source'
+ * into uncompressed wire form stored in target.
+ *
+ * Notes:
+ * \li Relative domain names will have 'origin' appended to them
+ * unless 'origin' is NULL, in which case relative domain names
+ * will remain relative.
+ *
+ * \li If DNS_NAME_DOWNCASE is set in 'options', any uppercase letters
+ * in 'source' will be downcased when they are copied into 'target'.
+ *
+ * Requires:
+ *
+ * \li 'source' is a valid buffer.
+ *
+ * \li 'target' is a valid buffer.
+ *
+ * Ensures:
+ *
+ * If result is success:
* \li Uppercase letters are downcased in the copy iff
* DNS_NAME_DOWNCASE is set in 'options'.
*
isc_buffer_init(&buffer, lhsbuf, strlen(lhsbuf));
isc_buffer_add(&buffer, strlen(lhsbuf));
isc_buffer_setactive(&buffer, strlen(lhsbuf));
- result = dns_name_fromtext(owner, &buffer, ictx->origin, 0,
- NULL);
+ result = dns_name_fromtext(owner, &buffer, ictx->origin, 0);
if (result != ISC_R_SUCCESS) {
goto error_cleanup;
}
isc_buffer_setactive(&buffer,
token.value.as_region.length);
result = dns_name_fromtext(new_name, &buffer,
- ictx->origin, 0, NULL);
+ ictx->origin, 0);
if (MANYERRS(lctx, result)) {
SETRESULT(lctx, result);
LOGIT(result);
}
}
-isc_result_t
-dns_name_fromtext(dns_name_t *name, isc_buffer_t *source,
- const dns_name_t *origin, unsigned int options,
- isc_buffer_t *target) {
- unsigned char *ndata, *label = NULL;
- char *tdata;
+static isc_result_t
+convert_text(isc_buffer_t *source, const dns_name_t *origin,
+ unsigned int options, dns_name_t *name, isc_buffer_t *target) {
+ unsigned char *ndata = NULL, *label = NULL;
+ char *tdata = NULL;
char c;
ft_state state;
unsigned int value = 0, count = 0;
bool done;
bool downcase;
- /*
- * Convert the textual representation of a DNS name at source
- * into uncompressed wire form stored in target.
- *
- * Notes:
- * Relative domain names will have 'origin' appended to them
- * unless 'origin' is NULL, in which case relative domain names
- * will remain relative.
- */
-
REQUIRE(DNS_NAME_VALID(name));
REQUIRE(ISC_BUFFER_VALID(source));
- REQUIRE((target != NULL && ISC_BUFFER_VALID(target)) ||
- (target == NULL && ISC_BUFFER_VALID(name->buffer)));
+ REQUIRE(ISC_BUFFER_VALID(target));
downcase = ((options & DNS_NAME_DOWNCASE) != 0);
return ISC_R_SUCCESS;
}
+isc_result_t
+dns_name_wirefromtext(isc_buffer_t *source, const dns_name_t *origin,
+ unsigned int options, isc_buffer_t *target) {
+ dns_name_t name;
+
+ REQUIRE(ISC_BUFFER_VALID(target));
+
+ dns_name_init(&name);
+ return convert_text(source, origin, options, &name, target);
+}
+
+isc_result_t
+dns_name_fromtext(dns_name_t *name, isc_buffer_t *source,
+ const dns_name_t *origin, unsigned int options) {
+ REQUIRE(DNS_NAME_VALID(name));
+ REQUIRE(ISC_BUFFER_VALID(name->buffer));
+
+ isc_buffer_clear(name->buffer);
+ return convert_text(source, origin, options, name, name->buffer);
+}
+
isc_result_t
dns_name_totext(const dns_name_t *name, unsigned int options,
isc_buffer_t *target) {
name = dns_fixedname_initname(&fn);
}
- result = dns_name_fromtext(name, &buf, origin, options, NULL);
+ result = dns_name_fromtext(name, &buf, origin, options);
if (result != ISC_R_SUCCESS) {
return result;
}
/* convert the hex to a domain name */
dns_fixedname_init(result);
return dns_name_fromtext(dns_fixedname_name(result), &namebuffer,
- origin, 0, NULL);
+ origin, 0);
}
unsigned int
isc_buffer_constinit(&b, keyval, strlen(keyval));
isc_buffer_add(&b, strlen(keyval));
result = dns_name_fromtext(dns_fixedname_name(&fname), &b, dns_rootname,
- 0, NULL);
+ 0);
if (result != ISC_R_SUCCESS) {
return result;
}
static isc_result_t
fromtext_any_tsig(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
uint64_t sigtime;
isc_buffer_t buffer;
dns_rcode_t rcode;
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
/*
* Time Signed: 48 bits.
static isc_result_t
fromtext_ch_a(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
+ dns_fixedname_t fn;
+ dns_name_t *name = dns_fixedname_initname(&fn);
isc_buffer_t buffer;
REQUIRE(type == dns_rdatatype_a);
false));
/* get domain name */
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_fromtext(name, &buffer, origin, options));
+ RETTOK(dns_name_towire(name, NULL, target));
if ((options & DNS_RDATA_CHECKNAMES) != 0 &&
(options & DNS_RDATA_CHECKREVERSE) != 0)
{
bool ok;
- ok = dns_name_ishostname(&name, false);
+ ok = dns_name_ishostname(name, false);
if (!ok && (options & DNS_RDATA_CHECKNAMESFAIL) != 0) {
RETTOK(DNS_R_BADNAME);
}
if (!ok && callbacks != NULL) {
- warn_badname(&name, lexer, callbacks);
+ warn_badname(name, lexer, callbacks);
}
}
fromtext_afsdb(ARGS_FROMTEXT) {
isc_token_t token;
isc_buffer_t buffer;
- dns_name_t name;
+ dns_fixedname_t fn;
+ dns_name_t *name = dns_fixedname_initname(&fn);
bool ok;
REQUIRE(type == dns_rdatatype_afsdb);
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_fromtext(name, &buffer, origin, options));
+ RETTOK(dns_name_towire(name, NULL, target));
ok = true;
if ((options & DNS_RDATA_CHECKNAMES) != 0) {
- ok = dns_name_ishostname(&name, false);
+ ok = dns_name_ishostname(name, false);
}
if (!ok && (options & DNS_RDATA_CHECKNAMESFAIL) != 0) {
RETTOK(DNS_R_BADNAME);
}
if (!ok && callbacks != NULL) {
- warn_badname(&name, lexer, callbacks);
+ warn_badname(name, lexer, callbacks);
}
return ISC_R_SUCCESS;
}
static isc_result_t
fromtext_amtrelay(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
unsigned int discovery;
unsigned int gateway;
return ISC_R_SUCCESS;
case 3:
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- return dns_name_fromtext(&name, &buffer, origin, options,
- target);
+ return dns_name_wirefromtext(&buffer, origin, options, target);
default:
UNREACHABLE();
}
static isc_result_t
fromtext_cname(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
REQUIRE(type == dns_rdatatype_cname);
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
return ISC_R_SUCCESS;
}
static isc_result_t
fromtext_dname(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
REQUIRE(type == dns_rdatatype_dname);
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
return ISC_R_SUCCESS;
}
static isc_result_t
fromtext_hip(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
isc_buffer_t hit_len;
isc_buffer_t key_len;
/*
* Rendezvous Servers.
*/
- dns_name_init(&name);
do {
RETERR(isc_lex_getmastertoken(lexer, &token,
isc_tokentype_string, true));
break;
}
buffer_fromregion(&buffer, &token.value.as_region);
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options,
- target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
} while (1);
/*
static isc_result_t
fromtext_ipseckey(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
unsigned int gateway;
struct in_addr addr;
break;
case 3:
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options,
- target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
break;
}
static isc_result_t
fromtext_lp(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
REQUIRE(type == dns_rdatatype_lp);
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- return dns_name_fromtext(&name, &buffer, origin, options, target);
+ return dns_name_wirefromtext(&buffer, origin, options, target);
}
static isc_result_t
static isc_result_t
fromtext_mb(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
REQUIRE(type == dns_rdatatype_mb);
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
return ISC_R_SUCCESS;
}
static isc_result_t
fromtext_md(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
REQUIRE(type == dns_rdatatype_md);
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
return ISC_R_SUCCESS;
}
static isc_result_t
fromtext_mf(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
REQUIRE(type == dns_rdatatype_mf);
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
return ISC_R_SUCCESS;
}
static isc_result_t
fromtext_mg(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
REQUIRE(type == dns_rdatatype_mg);
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
return ISC_R_SUCCESS;
}
static isc_result_t
fromtext_minfo(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
+ dns_fixedname_t fn;
+ dns_name_t *name = dns_fixedname_initname(&fn);
isc_buffer_t buffer;
int i;
bool ok;
for (i = 0; i < 2; i++) {
RETERR(isc_lex_getmastertoken(lexer, &token,
isc_tokentype_string, false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options,
- target));
+ RETTOK(dns_name_fromtext(name, &buffer, origin, options));
+ RETTOK(dns_name_towire(name, NULL, target));
ok = true;
if ((options & DNS_RDATA_CHECKNAMES) != 0) {
- ok = dns_name_ismailbox(&name);
+ ok = dns_name_ismailbox(name);
}
if (!ok && (options & DNS_RDATA_CHECKNAMESFAIL) != 0) {
RETTOK(DNS_R_BADNAME);
}
if (!ok && callbacks != NULL) {
- warn_badname(&name, lexer, callbacks);
+ warn_badname(name, lexer, callbacks);
}
}
return ISC_R_SUCCESS;
static isc_result_t
fromtext_mr(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
REQUIRE(type == dns_rdatatype_mr);
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
return ISC_R_SUCCESS;
}
static isc_result_t
fromtext_mx(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
+ dns_fixedname_t fn;
+ dns_name_t *name = dns_fixedname_initname(&fn);
isc_buffer_t buffer;
bool ok;
warn_badmx(&token, lexer, callbacks);
}
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_fromtext(name, &buffer, origin, options));
+ RETTOK(dns_name_towire(name, NULL, target));
ok = true;
if ((options & DNS_RDATA_CHECKNAMES) != 0) {
- ok = dns_name_ishostname(&name, false);
+ ok = dns_name_ishostname(name, false);
}
if (!ok && (options & DNS_RDATA_CHECKNAMESFAIL) != 0) {
RETTOK(DNS_R_BADNAME);
}
if (!ok && callbacks != NULL) {
- warn_badname(&name, lexer, callbacks);
+ warn_badname(name, lexer, callbacks);
}
return ISC_R_SUCCESS;
}
static isc_result_t
fromtext_naptr(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
unsigned char *regex;
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
return ISC_R_SUCCESS;
}
static isc_result_t
fromtext_ns(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
+ dns_fixedname_t fn;
+ dns_name_t *name = dns_fixedname_initname(&fn);
isc_buffer_t buffer;
bool ok;
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_fromtext(name, &buffer, origin, options));
+ RETTOK(dns_name_towire(name, NULL, target));
ok = true;
if ((options & DNS_RDATA_CHECKNAMES) != 0) {
- ok = dns_name_ishostname(&name, false);
+ ok = dns_name_ishostname(name, false);
}
if (!ok && (options & DNS_RDATA_CHECKNAMESFAIL) != 0) {
RETTOK(DNS_R_BADNAME);
}
if (!ok && callbacks != NULL) {
- warn_badname(&name, lexer, callbacks);
+ warn_badname(name, lexer, callbacks);
}
return ISC_R_SUCCESS;
}
static isc_result_t
fromtext_nsec(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
REQUIRE(type == dns_rdatatype_nsec);
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
return typemap_fromtext(lexer, target, false);
}
static isc_result_t
fromtext_nxt(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
char *e;
unsigned char bm[8 * 1024]; /* 64k bits */
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
memset(bm, 0, sizeof(bm));
do {
static isc_result_t
fromtext_ptr(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
+ dns_fixedname_t fn;
+ dns_name_t *name = dns_fixedname_initname(&fn);
REQUIRE(type == dns_rdatatype_ptr);
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+
+ RETTOK(dns_name_fromtext(name, &buffer, origin, options));
+ RETTOK(dns_name_towire(name, NULL, target));
+
if (rdclass == dns_rdataclass_in &&
(options & DNS_RDATA_CHECKNAMES) != 0 &&
(options & DNS_RDATA_CHECKREVERSE) != 0)
{
bool ok;
- ok = dns_name_ishostname(&name, false);
+ ok = dns_name_ishostname(name, false);
if (!ok && (options & DNS_RDATA_CHECKNAMESFAIL) != 0) {
RETTOK(DNS_R_BADNAME);
}
if (!ok && callbacks != NULL) {
- warn_badname(&name, lexer, callbacks);
+ warn_badname(name, lexer, callbacks);
}
}
return ISC_R_SUCCESS;
static isc_result_t
fromtext_rp(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
int i;
bool ok;
}
for (i = 0; i < 2; i++) {
+ dns_fixedname_t fn;
+ dns_name_t *name = dns_fixedname_initname(&fn);
+
RETERR(isc_lex_getmastertoken(lexer, &token,
isc_tokentype_string, false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options,
- target));
+
+ RETTOK(dns_name_fromtext(name, &buffer, origin, options));
+ RETTOK(dns_name_towire(name, NULL, target));
+
ok = true;
if ((options & DNS_RDATA_CHECKNAMES) != 0 && i == 0) {
- ok = dns_name_ismailbox(&name);
+ ok = dns_name_ismailbox(name);
}
if (!ok && (options & DNS_RDATA_CHECKNAMESFAIL) != 0) {
RETTOK(DNS_R_BADNAME);
}
if (!ok && callbacks != NULL) {
- warn_badname(&name, lexer, callbacks);
+ warn_badname(name, lexer, callbacks);
}
}
return ISC_R_SUCCESS;
dns_rdatatype_t covered;
char *e;
isc_result_t result;
- dns_name_t name;
isc_buffer_t buffer;
uint32_t time_signed, time_expire;
unsigned int used;
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
/*
* Sig.
static isc_result_t
fromtext_rt(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
+ dns_fixedname_t fn;
+ dns_name_t *name = dns_fixedname_initname(&fn);
bool ok;
REQUIRE(type == dns_rdatatype_rt);
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+
+ RETTOK(dns_name_fromtext(name, &buffer, origin, options));
+ RETTOK(dns_name_towire(name, NULL, target));
+
ok = true;
if ((options & DNS_RDATA_CHECKNAMES) != 0) {
- ok = dns_name_ishostname(&name, false);
+ ok = dns_name_ishostname(name, false);
}
if (!ok && (options & DNS_RDATA_CHECKNAMESFAIL) != 0) {
RETTOK(DNS_R_BADNAME);
}
if (!ok && callbacks != NULL) {
- warn_badname(&name, lexer, callbacks);
+ warn_badname(name, lexer, callbacks);
}
return ISC_R_SUCCESS;
}
dns_rdatatype_t covered;
char *e;
isc_result_t result;
- dns_name_t name;
isc_buffer_t buffer;
uint32_t time_signed, time_expire;
unsigned int used;
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
/*
* Sig.
static isc_result_t
fromtext_soa(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
int i;
uint32_t n;
}
for (i = 0; i < 2; i++) {
+ dns_fixedname_t fn;
+ dns_name_t *name = dns_fixedname_initname(&fn);
+
RETERR(isc_lex_getmastertoken(lexer, &token,
isc_tokentype_string, false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options,
- target));
+ RETTOK(dns_name_fromtext(name, &buffer, origin, options));
+ RETTOK(dns_name_towire(name, NULL, target));
ok = true;
if ((options & DNS_RDATA_CHECKNAMES) != 0) {
switch (i) {
case 0:
- ok = dns_name_ishostname(&name, false);
+ ok = dns_name_ishostname(name, false);
break;
case 1:
- ok = dns_name_ismailbox(&name);
+ ok = dns_name_ismailbox(name);
break;
}
}
RETTOK(DNS_R_BADNAME);
}
if (!ok && callbacks != NULL) {
- warn_badname(&name, lexer, callbacks);
+ warn_badname(name, lexer, callbacks);
}
}
static isc_result_t
fromtext_talink(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
int i;
RETERR(isc_lex_getmastertoken(lexer, &token,
isc_tokentype_string, false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options,
- target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
}
return ISC_R_SUCCESS;
fromtext_tkey(ARGS_FROMTEXT) {
isc_token_t token;
dns_rcode_t rcode;
- dns_name_t name;
isc_buffer_t buffer;
long i;
char *e;
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
/*
* Inception.
unsigned char prefixlen;
unsigned char octets;
unsigned char mask;
- dns_name_t name;
isc_buffer_t buffer;
+ dns_fixedname_t fn;
+ dns_name_t *name = dns_fixedname_initname(&fn);
bool ok;
REQUIRE(type == dns_rdatatype_a6);
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+
+ RETTOK(dns_name_fromtext(name, &buffer, origin, options));
+ RETTOK(dns_name_towire(name, NULL, target));
+
ok = true;
if ((options & DNS_RDATA_CHECKNAMES) != 0) {
- ok = dns_name_ishostname(&name, false);
+ ok = dns_name_ishostname(name, false);
}
if (!ok && (options & DNS_RDATA_CHECKNAMESFAIL) != 0) {
RETTOK(DNS_R_BADNAME);
}
if (!ok && callbacks != NULL) {
- warn_badname(&name, lexer, callbacks);
+ warn_badname(name, lexer, callbacks);
}
return ISC_R_SUCCESS;
}
static isc_result_t
fromtext_in_kx(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
REQUIRE(type == dns_rdatatype_kx);
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
return ISC_R_SUCCESS;
}
static isc_result_t
fromtext_in_nsap_ptr(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
REQUIRE(type == dns_rdatatype_nsap_ptr);
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
return ISC_R_SUCCESS;
}
static isc_result_t
fromtext_in_px(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
REQUIRE(type == dns_rdatatype_px);
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
/*
* MAPX400.
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_wirefromtext(&buffer, origin, options, target));
return ISC_R_SUCCESS;
}
static isc_result_t
fromtext_in_srv(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
+ dns_fixedname_t fn;
+ dns_name_t *name = dns_fixedname_initname(&fn);
bool ok;
REQUIRE(type == dns_rdatatype_srv);
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_string,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+ RETTOK(dns_name_fromtext(name, &buffer, origin, options));
+ RETTOK(dns_name_towire(name, NULL, target));
ok = true;
+
if ((options & DNS_RDATA_CHECKNAMES) != 0) {
- ok = dns_name_ishostname(&name, false);
+ ok = dns_name_ishostname(name, false);
}
if (!ok && (options & DNS_RDATA_CHECKNAMESFAIL) != 0) {
RETTOK(DNS_R_BADNAME);
}
if (!ok && callbacks != NULL) {
- warn_badname(&name, lexer, callbacks);
+ warn_badname(name, lexer, callbacks);
}
+
return ISC_R_SUCCESS;
}
static isc_result_t
generic_fromtext_in_svcb(ARGS_FROMTEXT) {
isc_token_t token;
- dns_name_t name;
isc_buffer_t buffer;
bool alias;
bool ok = true;
unsigned int used;
+ dns_fixedname_t fn;
+ dns_name_t *name = dns_fixedname_initname(&fn);
UNUSED(type);
UNUSED(rdclass);
*/
RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_qstring,
false));
- dns_name_init(&name);
buffer_fromregion(&buffer, &token.value.as_region);
if (origin == NULL) {
origin = dns_rootname;
}
- RETTOK(dns_name_fromtext(&name, &buffer, origin, options, target));
+
+ RETTOK(dns_name_fromtext(name, &buffer, origin, options));
+ RETTOK(dns_name_towire(name, NULL, target));
+
if (!alias && (options & DNS_RDATA_CHECKNAMES) != 0) {
- ok = dns_name_ishostname(&name, false);
+ ok = dns_name_ishostname(name, false);
}
if (!ok && (options & DNS_RDATA_CHECKNAMESFAIL) != 0) {
RETTOK(DNS_R_BADNAME);
}
if (!ok && callbacks != NULL) {
- warn_badname(&name, lexer, callbacks);
+ warn_badname(name, lexer, callbacks);
}
/*
isc_buffer_init(&buffer, str, sizeof(str));
isc_buffer_add(&buffer, len);
- result = dns_name_fromtext(ip_name, &buffer, base_name, 0, NULL);
+ result = dns_name_fromtext(ip_name, &buffer, base_name, 0);
return result;
}
isc_buffer_constinit(&b, name, strlen(name));
isc_buffer_add(&b, strlen(name));
- result = dns_name_fromtext(newname, &b, origin, 0, NULL);
+ result = dns_name_fromtext(newname, &b, origin, 0);
if (result != ISC_R_SUCCESS) {
return result;
}
dname = dns_fixedname_initname(&dfname);
isc_buffer_init(&b, owner, strlen(owner));
isc_buffer_add(&b, strlen(owner));
- ret = dns_name_fromtext(dname, &b, dns_rootname, 0, NULL);
+ ret = dns_name_fromtext(dname, &b, dns_rootname, 0);
if (ret != ISC_R_SUCCESS) {
return ret;
}
}
isc_buffer_init(&b, buf, strlen(buf));
isc_buffer_add(&b, strlen(buf));
- result = dns_name_fromtext(tcpself, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(tcpself, &b, dns_rootname, 0);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
}
}
isc_buffer_init(&b, buf, strlen(buf));
isc_buffer_add(&b, strlen(buf));
- result = dns_name_fromtext(stfself, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(stfself, &b, dns_rootname, 0);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
}
isc_nonce_buf(randomdata, sizeof(randomdata));
isc_buffer_init(&b, randomtext, sizeof(randomtext));
RETERR(isc_hex_totext(&r, 2, "", &b));
- RETERR(dns_name_fromtext(keyname, &b, NULL, 0, NULL));
+ RETERR(dns_name_fromtext(keyname, &b, NULL, 0));
}
RETERR(dns_name_concatenate(keyname, dns_rootname, keyname));
name = dns_fixedname_initname(&fname);
isc_buffer_init(&b, namestr, strlen(namestr));
isc_buffer_add(&b, strlen(namestr));
- result = dns_name_fromtext(name, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name, &b, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
return result;
}
creator = dns_fixedname_initname(&fcreator);
isc_buffer_init(&b, creatorstr, strlen(creatorstr));
isc_buffer_add(&b, strlen(creatorstr));
- result = dns_name_fromtext(creator, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(creator, &b, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
return result;
}
algorithm = dns_fixedname_initname(&falgorithm);
isc_buffer_init(&b, algorithmstr, strlen(algorithmstr));
isc_buffer_add(&b, strlen(algorithmstr));
- result = dns_name_fromtext(algorithm, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(algorithm, &b, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
return result;
}
isc_buffer_init(&b, name, (unsigned int)len);
isc_buffer_add(&b, (unsigned int)len);
- CHECK(dns_name_fromtext(fname, &b, dns_rootname, 0,
- NULL));
+ CHECK(dns_name_fromtext(fname, &b, dns_rootname, 0));
ntaname = fname;
}
isc_buffer_add(&buf, keylen);
dns_fixedname_init(&fixname);
result = dns_name_fromtext(dns_fixedname_name(&fixname), &buf,
- dns_rootname, 0, NULL);
+ dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
cfg_obj_log(keyobj, ISC_LOG_WARNING,
"key name '%s' is not a valid domain name",
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
tresult = dns_name_fromtext(dns_fixedname_name(&fixed), &b,
- dns_rootname, 0, NULL);
+ dns_rootname, 0);
if (tresult != ISC_R_SUCCESS) {
cfg_obj_log(obj, ISC_LOG_ERROR,
"rrset-order: invalid name '%s'", str);
isc_buffer_constinit(&buffer, str, strlen(str));
isc_buffer_add(&buffer, strlen(str));
name = dns_fixedname_initname(&fixed);
- tresult = dns_name_fromtext(name, &buffer, dns_rootname, 0,
- NULL);
+ tresult = dns_name_fromtext(name, &buffer, dns_rootname, 0);
if (tresult != ISC_R_SUCCESS) {
cfg_obj_log(obj, ISC_LOG_ERROR, "bad name '%s'", str);
if (result == ISC_R_SUCCESS) {
str = cfg_obj_asstring(obj);
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
- tresult = dns_name_fromtext(name, &b, dns_rootname, 0, NULL);
+ tresult = dns_name_fromtext(name, &b, dns_rootname, 0);
if (tresult != ISC_R_SUCCESS) {
cfg_obj_log(obj, ISC_LOG_ERROR, "bad domain name '%s'", str);
result = tresult;
str = cfg_obj_asstring(obj);
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
- tresult = dns_name_fromtext(name, &b, dns_rootname, 0, NULL);
+ tresult = dns_name_fromtext(name, &b, dns_rootname, 0);
if (tresult != ISC_R_SUCCESS) {
cfg_obj_log(obj, ISC_LOG_ERROR, "bad domain name '%s'", str);
result = tresult;
isc_buffer_constinit(&b, znamestr, strlen(znamestr));
isc_buffer_add(&b, strlen(znamestr));
tresult = dns_name_fromtext(dns_fixedname_name(&fixedname), &b,
- dns_rootname, DNS_NAME_DOWNCASE, NULL);
+ dns_rootname, DNS_NAME_DOWNCASE);
if (tresult != ISC_R_SUCCESS) {
cfg_obj_log(zconfig, ISC_LOG_ERROR,
"zone '%s': is not a valid name", znamestr);
isc_buffer_constinit(&b2, snamestr, strlen(snamestr));
isc_buffer_add(&b2, strlen(snamestr));
sname = dns_fixedname_initname(&fixed_sname);
- tresult = dns_name_fromtext(sname, &b2, dns_rootname, 0,
- NULL);
+ tresult = dns_name_fromtext(sname, &b2, dns_rootname,
+ 0);
if (tresult != ISC_R_SUCCESS) {
cfg_obj_log(zconfig, ISC_LOG_ERROR,
"server-name '%s' is not a valid "
isc_buffer_constinit(&b, keyid, strlen(keyid));
isc_buffer_add(&b, strlen(keyid));
- tresult = dns_name_fromtext(name, &b, dns_rootname, 0, NULL);
+ tresult = dns_name_fromtext(name, &b, dns_rootname, 0);
if (tresult != ISC_R_SUCCESS) {
cfg_obj_log(key, ISC_LOG_ERROR,
"key '%s': bad key name", keyid);
isc_buffer_add(&b, strlen(keyval));
keyname = dns_fixedname_initname(&fname);
tresult = dns_name_fromtext(keyname, &b, dns_rootname,
- 0, NULL);
+ 0);
if (tresult != ISC_R_SUCCESS) {
cfg_obj_log(keys, ISC_LOG_ERROR,
"bad key name '%s'", keyval);
keyname = dns_fixedname_initname(&fkeyname);
isc_buffer_constinit(&b, namestr, strlen(namestr));
isc_buffer_add(&b, strlen(namestr));
- result = dns_name_fromtext(keyname, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(keyname, &b, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
cfg_obj_log(key, ISC_LOG_WARNING, "bad key name: %s\n",
isc_result_totext(result));
errx(1, "too many names");
}
dns_name_t *name = dns_fixedname_initname(&fixedname[count++]);
- result = dns_name_fromtext(name, &buf, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name, &buf, dns_rootname, 0);
CHECKRESULT(result, line);
}
isc_buffer_t buffer;
isc_buffer_init(&buffer, domain, len);
isc_buffer_add(&buffer, len);
- result = dns_name_fromtext(name, &buffer, dns_rootname, 0,
- NULL);
+ result = dns_name_fromtext(name, &buffer, dns_rootname, 0);
FILE_CHECK(result == ISC_R_SUCCESS, isc_result_totext(result));
wirebytes += name->length;
isc_buffer_init(&buffer, domain, len);
isc_buffer_add(&buffer, len);
- result = dns_name_fromtext(name, &buffer, dns_rootname, 0,
- NULL);
+ result = dns_name_fromtext(name, &buffer, dns_rootname, 0);
if (result == ISC_R_SUCCESS) {
smallname_from_name(name, &pval, &ival);
result = dns_qp_insert(qp, pval, ival);
isc_buffer_init(&buffer, domain, len);
isc_buffer_add(&buffer, len);
- result = dns_name_fromtext(name, &buffer, dns_rootname, 0,
- NULL);
+ result = dns_name_fromtext(name, &buffer, dns_rootname, 0);
if (result == ISC_R_SUCCESS) {
smallname_from_name(name, &pval, &ival);
result = dns_qp_insert(qp, pval, ival);
isc_buffer_t b;
isc_buffer_constinit(&b, src, strlen(src));
isc_buffer_add(&b, strlen(src));
- return dns_name_fromtext(name, &b, dns_rootname, 0, NULL);
+ return dns_name_fromtext(name, &b, dns_rootname, 0);
}
/* create: make sure we can create a dbiterator */
isc_buffer_constinit(&namesrc, tls_name_str, strlen(tls_name_str));
isc_buffer_add(&namesrc, strlen(tls_name_str));
if (dns_name_fromtext(tls_name, &namesrc, dns_rootname,
- DNS_NAME_DOWNCASE, NULL) != ISC_R_SUCCESS)
+ DNS_NAME_DOWNCASE) != ISC_R_SUCCESS)
{
return -1;
}
zname = dns_fixedname_initname(&zfname);
isc_buffer_constinit(&zb, "example.com.", 12);
isc_buffer_add(&zb, 12);
- result = dns_name_fromtext(zname, &zb, NULL, 0, NULL);
+ result = dns_name_fromtext(zname, &zb, NULL, 0);
assert_int_equal(result, ISC_R_SUCCESS);
memset(&zr, 0, sizeof(zr));
name = dns_fixedname_initname(&fname);
isc_buffer_constinit(&b, keyname, strlen(keyname));
isc_buffer_add(&b, strlen(keyname));
- result = dns_name_fromtext(name, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name, &b, dns_rootname, 0);
assert_int_equal(result, ISC_R_SUCCESS);
result = dst_key_fromfile(name, id, alg, type,
TESTS_DIR "/testdata/dst", mctx, &key);
name1 = dns_fixedname_initname(&fname1);
isc_buffer_constinit(&b1, key1_name, strlen(key1_name));
isc_buffer_add(&b1, strlen(key1_name));
- result = dns_name_fromtext(name1, &b1, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name1, &b1, dns_rootname, 0);
assert_int_equal(result, ISC_R_SUCCESS);
result = dst_key_fromfile(name1, key1_id, alg, type,
TESTS_DIR "/comparekeys", mctx, &key1);
name2 = dns_fixedname_initname(&fname2);
isc_buffer_constinit(&b2, key2_name, strlen(key2_name));
isc_buffer_add(&b2, strlen(key2_name));
- result = dns_name_fromtext(name2, &b2, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name2, &b2, dns_rootname, 0);
assert_int_equal(result, ISC_R_SUCCESS);
result = dst_key_fromfile(name2, key2_id, alg, type,
TESTS_DIR "/comparekeys", mctx, &key2);
name = dns_fixedname_initname(&fname);
isc_buffer_constinit(&keybuf, "example.", strlen("example."));
isc_buffer_add(&keybuf, strlen("example."));
- result = dns_name_fromtext(name, &keybuf, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name, &keybuf, dns_rootname, 0);
assert_int_equal(result, ISC_R_SUCCESS);
result = dst_key_fromfile(name, 19786, DST_ALG_ECDSA256,
DST_TYPE_PUBLIC | DST_TYPE_PRIVATE,
name = dns_fixedname_initname(&fname);
isc_buffer_init(&namebuf, UNCONST(namestr), strlen(namestr));
isc_buffer_add(&namebuf, strlen(namestr));
- assert_int_equal(
- dns_name_fromtext(name, &namebuf, dns_rootname, 0, NULL),
- ISC_R_SUCCESS);
+ assert_int_equal(dns_name_fromtext(name, &namebuf, dns_rootname, 0),
+ ISC_R_SUCCESS);
return name;
}
isc_buffer_setactive(&source, len);
dns_master_initrawheader(&header);
- result = dns_name_fromtext(dns_origin, &source, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(dns_origin, &source, dns_rootname, 0);
if (result != ISC_R_SUCCESS) {
return result;
}
dns_name_init(&name);
isc_buffer_init(&nb, data, BUFSIZ);
dns_name_setbuffer(&name, &nb);
- result = dns_name_fromtext(&name, &b, NULL, 0, NULL);
+ result = dns_name_fromtext(&name, &b, NULL, 0);
assert_int_equal(result, ISC_R_SUCCESS);
assert_int_equal(dns_name_isabsolute(&name),
isc_buffer_constinit(&b, str1, strlen(str1));
isc_buffer_add(&b, strlen(str1));
- result = dns_name_fromtext(name1, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name1, &b, dns_rootname, 0);
assert_int_equal(result, ISC_R_SUCCESS);
isc_buffer_constinit(&b, str2, strlen(str2));
isc_buffer_add(&b, strlen(str2));
- result = dns_name_fromtext(name2, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name2, &b, dns_rootname, 0);
assert_int_equal(result, ISC_R_SUCCESS);
/* Store the case from name1 */
isc_buffer_constinit(&b, str1, strlen(str1));
isc_buffer_add(&b, strlen(str1));
- result = dns_name_fromtext(name1, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name1, &b, dns_rootname, 0);
assert_int_equal(result, ISC_R_SUCCESS);
isc_buffer_constinit(&b, str1, strlen(str1));
isc_buffer_add(&b, strlen(str1));
- result = dns_name_fromtext(name2, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(name2, &b, dns_rootname, 0);
assert_int_equal(result, ISC_R_SUCCESS);
assert_false(CASESET(&header));
name = dns_fixedname_initname(&fname);
isc_buffer_constinit(&buf, "rsa.", 4);
isc_buffer_add(&buf, 4);
- ret = dns_name_fromtext(name, &buf, NULL, 0, NULL);
+ ret = dns_name_fromtext(name, &buf, NULL, 0);
assert_int_equal(ret, ISC_R_SUCCESS);
ret = dst_key_fromfile(name, 29238, DST_ALG_RSASHA256, DST_TYPE_PUBLIC,
dname = dns_fixedname_initname(&dfname);
isc_buffer_init(&b, name, strlen(name));
isc_buffer_add(&b, strlen(name));
- result = dns_name_fromtext(dname, &b, dns_rootname, 0, NULL);
+ result = dns_name_fromtext(dname, &b, dns_rootname, 0);
assert_int_equal(result, ISC_R_SUCCESS);
/* Get the KSK */
isc_buffer_allocate(mctx, &b, length);
isc_buffer_putmem(b, (const unsigned char *)namestr, length);
- result = dns_name_fromtext(name, b, NULL, 0, NULL);
+ result = dns_name_fromtext(name, b, NULL, 0);
INSIST(result == ISC_R_SUCCESS);
isc_buffer_free(&b);