svn commit: r340537 - stable/11/sbin/ifconfig

Andrey V. Elsukov ae at FreeBSD.org
Sun Nov 18 00:26:10 UTC 2018


Author: ae
Date: Sun Nov 18 00:26:09 2018
New Revision: 340537
URL: https://svnweb.freebsd.org/changeset/base/340537

Log:
  MFC r339535:
    Do not allow use `create` keyword as hostname when ifconfig(8) is invoked
    for already existing interface.
  
    It appeared, that ifconfig(8) assumes `create` keyword as hostname and
    tries to resolve it, when `ifconfig ifname create` invoked for already
    existing interface. This can produce some unexpected results, when hostname
    resolving has successfully happened. This patch adds check for such case.
    When an interface is already exists, and create is only one argument,
    return error message. But when there are some other arguments, just remove
    create keyword from the arguments list.
  
    Obtained from:	Yandex LLC
    Sponsored by:	Yandex LLC
    Differential Revision:	https://reviews.freebsd.org/D17171
  
  MFC r339536:
    Fix grammar.

Modified:
  stable/11/sbin/ifconfig/ifconfig.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sbin/ifconfig/ifconfig.c
==============================================================================
--- stable/11/sbin/ifconfig/ifconfig.c	Sun Nov 18 00:22:01 2018	(r340536)
+++ stable/11/sbin/ifconfig/ifconfig.c	Sun Nov 18 00:26:09 2018	(r340537)
@@ -501,6 +501,18 @@ main(int argc, char *argv[])
 			}
 #endif
 			errx(1, "interface %s does not exist", ifname);
+		} else {
+			/*
+			 * Do not allow use `create` command as hostname if
+			 * address family is not specified.
+			 */
+			if (argc > 0 && (strcmp(argv[0], "create") == 0 ||
+			    strcmp(argv[0], "plumb") == 0)) {
+				if (argc == 1)
+					errx(1, "interface %s already exists",
+					    ifname);
+				argc--, argv++;
+			}
 		}
 	}
 


More information about the svn-src-all mailing list