Browse Source

[Minor] Add support of CNAME requests to the lua resolver

tags/3.3
Vsevolod Stakhov 1 year ago
parent
commit
33f69f85ea
No account linked to committer's email address
2 changed files with 36 additions and 26 deletions
  1. 31
    26
      contrib/librdns/util.c
  2. 5
    0
      src/lua/lua_dns_resolver.c

+ 31
- 26
contrib/librdns/util.c View File

@@ -306,6 +306,9 @@ rdns_type_fromstr (const char *str)
else if (strcmp (str, "tlsa") == 0) {
return RDNS_REQUEST_TLSA;
}
else if (strcmp (str, "cname") == 0) {
return RDNS_REQUEST_CNAME;
}
else if (strcmp (str, "any") == 0) {
return RDNS_REQUEST_ANY;
}
@@ -318,32 +321,34 @@ const char *
rdns_str_from_type (enum rdns_request_type rcode)
{
switch (rcode) {
case RDNS_REQUEST_INVALID:
return "(invalid)";
case RDNS_REQUEST_A:
return "a";
case RDNS_REQUEST_NS:
return "ns";
case RDNS_REQUEST_SOA:
return "soa";
case RDNS_REQUEST_PTR:
return "ptr";
case RDNS_REQUEST_MX:
return "mx";
case RDNS_REQUEST_TXT:
return "txt";
case RDNS_REQUEST_SRV:
return "srv";
case RDNS_REQUEST_SPF:
return "spf";
case RDNS_REQUEST_AAAA:
return "aaaa";
case RDNS_REQUEST_TLSA:
return "tlsa";
case RDNS_REQUEST_ANY:
return "any";
default:
return "(unknown)";
case RDNS_REQUEST_INVALID:
return "(invalid)";
case RDNS_REQUEST_A:
return "a";
case RDNS_REQUEST_NS:
return "ns";
case RDNS_REQUEST_SOA:
return "soa";
case RDNS_REQUEST_PTR:
return "ptr";
case RDNS_REQUEST_MX:
return "mx";
case RDNS_REQUEST_TXT:
return "txt";
case RDNS_REQUEST_SRV:
return "srv";
case RDNS_REQUEST_SPF:
return "spf";
case RDNS_REQUEST_AAAA:
return "aaaa";
case RDNS_REQUEST_TLSA:
return "tlsa";
case RDNS_REQUEST_CNAME:
return "cname";
case RDNS_REQUEST_ANY:
return "any";
default:
return "(unknown)";
}

}

+ 5
- 0
src/lua/lua_dns_resolver.c View File

@@ -278,6 +278,10 @@ lua_push_dns_reply (lua_State *L, const struct rdns_reply *reply)
lua_pushinteger (L, elt->content.soa.minimum);
lua_settable (L, -3);

lua_rawseti (L, -2, ++i);
break;
case RDNS_REQUEST_CNAME:
lua_pushstring (L, elt->content.cname.name);
lua_rawseti (L, -2, ++i);
break;
default:
@@ -743,6 +747,7 @@ luaopen_dns_resolver (lua_State * L)
LUA_ENUM (L, DNS_SPF, RDNS_REQUEST_SPF);
LUA_ENUM (L, DNS_AAAA, RDNS_REQUEST_AAAA);
LUA_ENUM (L, DNS_SOA, RDNS_REQUEST_SOA);
LUA_ENUM (L, DNS_CNAME, RDNS_REQUEST_CNAME);
}

lua_pop (L, 1);

Loading…
Cancel
Save