Commit 9b4bbbbccf for strongswan.org

commit 9b4bbbbccfec26bcfa38d80ba24dcb17ce5c59bc
Author: Tobias Brunner <tobias@strongswan.org>
Date:   Mon Feb 23 11:13:55 2026 +0100

    swanctl: Check for conflicts with shared options when registering commands

    Also suppress errors when pre-processing shared options (this was missing
    here but already used in pki).

diff --git a/src/swanctl/command.c b/src/swanctl/command.c
index 35a226a747..dd662eef08 100644
--- a/src/swanctl/command.c
+++ b/src/swanctl/command.c
@@ -185,6 +185,8 @@ static bool process_common_opts(bool init)
 	int prevoptind = optind;
 	bool success = TRUE;

+	/* don't report any errors during this pre-processing */
+	opterr = 0;
 	while (TRUE)
 	{
 		switch (getopt_long(argc, argv, command_optstring, command_opts, NULL))
@@ -243,6 +245,16 @@ void command_register(command_t command)
 			return;
 		}
 	}
+	for (i = 0; i < countof(shared_options); i++)
+	{
+		if (shared_options[i].op == command.op)
+		{
+			fprintf(stderr, "unable to register command --%s, short option "
+					"-%c conflicts with --%s\n", command.cmd, command.op,
+					shared_options[i].name);
+			return;
+		}
+	}

 	cmds[registered] = command;
 	/* append default options, but not to --help */