net: remove obsolete net ads dns gethostbyname command
authorBjörn Jacke <bj@sernet.de>
Tue, 22 Dec 2020 20:04:34 +0000 (21:04 +0100)
committerBjoern Jacke <bjacke@samba.org>
Wed, 23 Dec 2020 13:52:41 +0000 (13:52 +0000)
net ads dns gethostbyname is doing the same as nslookup / host / dig and it's
quite limited and only supports A records. We should just drop it.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13706

Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Björn Jacke <bjacke@samba.org>
Autobuild-Date(master): Wed Dec 23 13:52:41 UTC 2020 on sn-devel-184

docs-xml/manpages/net.8.xml
source3/utils/net_ads.c
source3/utils/net_dns.c
source3/utils/net_dns.h

index 951ddcd7c3a62ee794708e181d6b75c53f6c1c36..94689e96c9829a5bd756e1458dfcd50a30845f65 100644 (file)
@@ -1393,11 +1393,6 @@ against an NT4 Domain Controller.
 <para>Remove host dns entry from Active Directory.</para>
 </refsect3>
 
-<refsect3>
-<title>ADS DNS GETHOSTBYNAME &lt;NAMESERVER|HOSTNAME&gt;</title>
-<para>Look up the hostname from Active Directory. You can either provide nameserver ie IPv4|IPv6 address or the hostname. Only one should be provided at a time.</para>
-</refsect3>
-
 </refsect2>
 
 <refsect2>
index bcb9c9d5ddebd15f20a1ead26f71399592a53cc1..c8b18a9c281bf0f904e972973e12d26a91528a7d 100644 (file)
@@ -2190,35 +2190,6 @@ static int net_ads_dns_unregister(struct net_context *c,
 #endif
 }
 
-static int net_ads_dns_gethostbyname(struct net_context *c, int argc, const char **argv)
-{
-#if defined(WITH_DNS_UPDATES)
-       DNS_ERROR err;
-
-#ifdef DEVELOPER
-       talloc_enable_leak_report();
-#endif
-
-       if (argc != 2 || c->display_usage) {
-               d_printf(  "%s\n"
-                          "    %s\n"
-                          "    %s\n",
-                        _("Usage:"),
-                        _("net ads dns gethostbyname <server> <name>\n"),
-                        _("  Look up hostname from the AD\n"
-                          "    nameserver\tName server to use\n"
-                          "    hostname\tName to look up\n"));
-               return -1;
-       }
-
-       err = do_gethostbyname(argv[0], argv[1]);
-       if (!ERR_DNS_IS_OK(err)) {
-               d_printf(_("do_gethostbyname returned %s (%d)\n"),
-                       dns_errstr(err), ERROR_DNS_V(err));
-       }
-#endif
-       return 0;
-}
 
 static int net_ads_dns_async(struct net_context *c, int argc, const char **argv)
 {
@@ -2313,14 +2284,6 @@ static int net_ads_dns(struct net_context *c, int argc, const char *argv[])
                        N_("net ads dns unregister\n"
                           "    Remove host dns entry from AD")
                },
-               {
-                       "gethostbyname",
-                       net_ads_dns_gethostbyname,
-                       NET_TRANSPORT_ADS,
-                       N_("Look up host"),
-                       N_("net ads dns gethostbyname\n"
-                          "    Look up host")
-               },
                {
                        "async",
                        net_ads_dns_async,
index b94bef987a157e572d2e7649722299c812a8bb59..8275042f3e5776b593fa605cb00d807861f3c44e 100644 (file)
@@ -207,48 +207,4 @@ int get_my_ip_address( struct sockaddr_storage **pp_ss )
        return count;
 }
 
-DNS_ERROR do_gethostbyname(const char *server, const char *host)
-{
-       struct dns_connection *conn = NULL;
-       struct dns_request *req, *resp;
-       DNS_ERROR err;
-       int ans = 0;
-
-       err = dns_open_connection(server, DNS_UDP, NULL, &conn);
-       if (!ERR_DNS_IS_OK(err)) {
-               goto error;
-       }
-
-       err = dns_create_query(conn, host, QTYPE_A, DNS_CLASS_IN, &req);
-       if (!ERR_DNS_IS_OK(err)) {
-               goto error;
-       }
-
-       err = dns_transaction(conn, conn, req, &resp);
-       if (!ERR_DNS_IS_OK(err)) {
-               goto error;
-       }
-
-       if (resp->num_answers == 0) {
-               printf("%s", "No answers!\n");
-               goto error;
-       }
-
-       for (ans = 0; ans < resp->num_answers; ans++) {
-               struct in_addr resp_ip;
-
-               if (ans > 0)
-                       printf("%s", " ");
-
-               resp_ip.s_addr = *((uint32_t *)resp->answers[ans]->data);
-               printf("%s", inet_ntoa(resp_ip));
-       }
-
-       printf("%s", "\n");
-
- error:
-       TALLOC_FREE(conn);
-       return err;
-}
-
 #endif /* defined(WITH_DNS_UPDATES) */
index e44e93a2ddd3ba94746b4413532d7a516b59acab..ef70fddd97c49be789bc21c8db7feb31d4c4ad76 100644 (file)
@@ -38,6 +38,4 @@ DNS_ERROR DoDNSUpdate(char *pszServerName,
                      size_t num_addrs,
                      uint32_t flags, bool remove_host);
 
-DNS_ERROR do_gethostbyname(const char *server, const char *host);
-
 #endif /* defined(WITH_DNS_UPDATES) */