ipops: new function dns_query(hostname, pvid)
authorDaniel-Constantin Mierla <miconda@gmail.com>
Mon, 15 Jul 2013 21:32:33 +0000 (23:32 +0200)
committerDaniel-Constantin Mierla <miconda@gmail.com>
Mon, 15 Jul 2013 21:32:33 +0000 (23:32 +0200)
commit20f3846d6d39e8fd599464d1e5ce48bfec326586
tree5b132efabd39654f96795e3fd657b6abac93e295
parent9ac9b5c35858efd7c71163c604d18a1fa35e3a02
ipops: new function dns_query(hostname, pvid)

- store the result of dns query in a variable $dns(pvid=>key)
- dns query is using getaddrinfo()
- $dns(pvid=>key) - new pv allowing to navigate through the result of a dns query
- key can be:
- count - number of addresses
- ipv4 - set to 1 if at least one ipv4 address (otherwise 0)
- ipv6 - set to 1 if at least one ipv6 address (otherwise 0)
- addr[index] - the address as string from position index in the list (0 based indexing)
- type[index] - the type of address from position index in the list (0 based indexing), the value is 4 for ipv4 and 6 for ipv6
- example:

if(dns_query("test.com", "xyz"))
{
xlog("===== number of addresses: $dns(xyz=>count)\n");
xlog("===== ipv4 address found: $dns(xyz=>ipv4)\n");
xlog("===== ipv6 address found: $dns(xyz=>ipv6)\n");
$var(i) = 0;
while($var(i)<$dns(xyz=>count)) {
xlog("===== #[$var(i)] type ($dns(xyz=>addr[$var(i)])) addr [$dns(xyz=>addr[$var(i)])]\n");
$var(i) = $var(i) + 1;
}
}
modules/ipops/ipops_mod.c
modules/ipops/ipops_pv.c [new file with mode: 0644]
modules/ipops/ipops_pv.h [new file with mode: 0644]