git: ad874544d9f0 - main - libnetmap: remove interface name validation

From: Vincenzo Maffione <vmaffione_at_FreeBSD.org>
Date: Thu, 21 Dec 2023 14:46:41 UTC
The branch main has been updated by vmaffione:

URL: https://cgit.FreeBSD.org/src/commit/?id=ad874544d9f018bf8eef4053b5ca7b856c4674cb

commit ad874544d9f018bf8eef4053b5ca7b856c4674cb
Author:     Vincenzo Maffione <vmaffione@FreeBSD.org>
AuthorDate: 2023-12-21 14:43:57 +0000
Commit:     Vincenzo Maffione <vmaffione@FreeBSD.org>
CommitDate: 2023-12-21 14:43:57 +0000

    libnetmap: remove interface name validation
    
    When trying to use a VLAN device (e.g. "em0.123") with a dot
    the library fails to parse the interface correctly. The former
    pattern is much too restrictive given that almost all characters
    can be coerced into a device name via ifconfig.
    
    Remove the particularly restrictive validation.  Some characters
    still cannot be used as an interface name as they are used as
    delimiters in the syntax, but this allows to be able to use most
    of them without an issue.
    
    Submitted by:   franco@opnsense.org
    Differential Revision:  https://reviews.freebsd.org/D42485
    Reviewed by:    vmaffione
---
 lib/libnetmap/nmreq.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/lib/libnetmap/nmreq.c b/lib/libnetmap/nmreq.c
index 645f01abc130..2477337d8791 100644
--- a/lib/libnetmap/nmreq.c
+++ b/lib/libnetmap/nmreq.c
@@ -156,11 +156,6 @@ nmreq_header_decode(const char **pifname, struct nmreq_header *h, struct nmctx *
 	for (pipesep = vpname; pipesep != scan && !index("{}", *pipesep); pipesep++)
 		;
 
-	if (!nm_is_identifier(vpname, pipesep)) {
-		nmctx_ferror(ctx, "%s: invalid port name '%.*s'", *pifname,
-				pipesep - vpname, vpname);
-		goto fail;
-	}
 	if (pipesep != scan) {
 		pipesep++;
 		if (*pipesep == '\0') {