-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Right now, it is assumed that the master DNS IP is the request originating IP. This is something really weird and even worse could lead to some problems. For instance, a request could be done by a client that is behind a NAT. Your daemon could be used in intranet too... What about these use cases?
Furthermore, for the i-MSCP case, you must not forgot that the IPs are assigned per customer, meaning that in the i-MSCP event listener, you'll have to retrieve the customer IP. For the rest, I really don't know how you can enforce usage of a specific network interface for sending request through Perl LWP module.
My thinking is that your daemon should accept more details about the zone that is being added. A JSON payload such as:
{
"master_dns_ip":"<ip>",
"zone":"domain.tld",
"action":"add"
}should do the job. It is hard in go to parse a JSON payload? I would prefer that over simple URL parameters.
See also: https://golang.org/pkg/encoding/json/
Thanks you.