Uploaded image for project: 'ZABBIX FEATURE REQUESTS'
  1. ZABBIX FEATURE REQUESTS
  2. ZBXNEXT-1275

Use c-ares for DNS resolving

XMLWordPrintable

    • Icon: Change Request Change Request
    • Resolution: Unresolved
    • Icon: Minor 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.

            alexei Alexei Vladishev
            ncopa Natanael Copa
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: