-
Change Request
-
Resolution: Unresolved
-
Minor
-
None
-
2.0.0
-
None
-
None
-
Alpine Linux (uClibc)
uClibc does not have res_send() implemented so 2.0.0 fails to build completely, while 1.8 works like a charm. (see https://support.zabbix.com/browse/ZBX-5197)
The res_send() was introduced as a response to https://support.zabbix.com/browse/ZBXNEXT-467 (you cannot pick DNS over tcp due to limitation in libresolv).
I suggest using the c-ares library for dns resolution. The API looks fairly similar to libresolv, so the porting should not bee a too big job.
Benefits:
- all platforms will have full DNS functionality
- you will be able to choose between TCP or UDP for DNS lookups
- since c-ares is available for both *nix and windows, you can use same code for all platforms (you can get rid of lots of the #if #else in code)
Drawbacks:
- Yet another external dependency. (curl will most likely already depend on c-ares though)
It could be added an an optional dependency but that would make the #if #else logic alot worse than today.
- related to
-
ZBX-26014 Zabbix passive agent checks fail randomly due to DNS resolution issues (libevent)
-
- Merging
-