]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
net/dns: Fix removal of DNS server
authorRenaud Métrich <rmetrich@redhat.com>
Fri, 28 Apr 2023 11:05:37 +0000 (13:05 +0200)
committerDaniel Kiper <daniel.kiper@oracle.com>
Wed, 17 May 2023 11:43:30 +0000 (13:43 +0200)
When deleting the DNS server, we get the following error message:
-------- 8< ---------------- 8< ---------------- 8< ---------------- 8< --------
grub> net_del_dns 192.168.122.1
error: ../../grub-core/net/dns.c:646:no DNS reply received.
-------- 8< ---------------- 8< ---------------- 8< ---------------- 8< --------

This happens because the implementation is broken, it does a "add"
internally instead of a "delete".

Signed-off-by: Renaud Métrich <rmetrich@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
grub-core/net/dns.c

index afa38949472b4800a2c1893496a3957a863a919a..e51682dc60f2537396ea03235e93aee6ccd5461b 100644 (file)
@@ -765,11 +765,14 @@ grub_cmd_del_dns (struct grub_command *cmd __attribute__ ((unused)),
 
   if (argc != 1)
     return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("one argument expected"));
-  err = grub_net_resolve_address (args[1], &server);
+
+  err = grub_net_resolve_address (args[0], &server);
   if (err)
     return err;
 
-  return grub_net_add_dns_server (&server);
+  grub_net_remove_dns_server (&server);
+
+  return GRUB_ERR_NONE;
 }
 
 static grub_command_t cmd, cmd_add, cmd_del, cmd_list;