Browse Source

[Minor] Add function to parse string to rdns request type

tags/1.4.0
Vsevolod Stakhov 7 years ago
parent
commit
71fee73561
2 changed files with 49 additions and 0 deletions
  1. 7
    0
      contrib/librdns/rdns.h
  2. 42
    0
      contrib/librdns/util.c

+ 7
- 0
contrib/librdns/rdns.h View File

@@ -352,6 +352,13 @@ const char *rdns_strerror (enum dns_rcode rcode);
*/
const char *rdns_strtype (enum rdns_request_type type);

/**
* Parse string and return request type
* @param str
* @return
*/
enum rdns_request_type rdns_type_fromstr (const char *str);

/**
* Increase refcount for a request
* @param req

+ 42
- 0
contrib/librdns/util.c View File

@@ -247,6 +247,48 @@ rdns_strtype (enum rdns_request_type type)
return dns_types[type];
}

enum rdns_request_type
rdns_type_fromstr (const char *str)
{
if (str) {
if (strcmp (str, "a") == 0) {
return RDNS_REQUEST_A;
}
else if (strcmp (str, "ns") == 0) {
return RDNS_REQUEST_NS;
}
else if (strcmp (str, "soa") == 0) {
return RDNS_REQUEST_SOA;
}
else if (strcmp (str, "ptr") == 0) {
return RDNS_REQUEST_PTR;
}
else if (strcmp (str, "mx") == 0) {
return RDNS_REQUEST_MX;
}
else if (strcmp (str, "srv") == 0) {
return RDNS_REQUEST_SRV;
}
else if (strcmp (str, "txt") == 0) {
return RDNS_REQUEST_TXT;
}
else if (strcmp (str, "spf") == 0) {
return RDNS_REQUEST_SPF;
}
else if (strcmp (str, "aaaa") == 0) {
return RDNS_REQUEST_AAAA;
}
else if (strcmp (str, "tlsa") == 0) {
return RDNS_REQUEST_TLSA;
}
else if (strcmp (str, "any") == 0) {
return RDNS_REQUEST_ANY;
}
}

return -1;
}

uint16_t
rdns_permutor_generate_id (void)
{

Loading…
Cancel
Save