}
}
else {
- make_dns_request (resolver, session, NULL, lua_http_dns_handler, cbd,
- RDNS_REQUEST_A, msg->host->str);
+ if (!make_dns_request (resolver, session, NULL, lua_http_dns_handler, cbd,
+ RDNS_REQUEST_A, msg->host->str)) {
+ lua_http_maybe_free (cbd);
+ lua_pushboolean (L, FALSE);
+
+ return 1;
+ }
}
lua_pushboolean (L, TRUE);
}
}
else {
- make_dns_request (resolver, session, NULL, lua_tcp_dns_handler, cbd,
- RDNS_REQUEST_A, host);
+ if (!make_dns_request (resolver, session, NULL, lua_tcp_dns_handler, cbd,
+ RDNS_REQUEST_A, host)) {
+ lua_tcp_push_error (cbd, "cannot resolve host");
+ lua_tcp_maybe_free (cbd);
+ }
}
lua_pushboolean (L, TRUE);