server: set tcp port and bind address before init

All the servers open the listening socket during openocd "init";
it's not possible to change the tcp port or the bind address
after "init".

In current code, the call order during "init" permits to change
the port and bind address of tcl and telnet server if the related
command is issued after "init" in the same script or on openocd
command line. This is not guaranteed to work if the call order
during "init" changes, so it's incorrect.

Change the commands "bindto" and "*_port" to COMMAND_CONFIG.

Change-Id: Id88f225a67a872b4bcaf3b799466bddedc248015
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reported-by: Christopher Head <chead@zaber.com>
Fixes: https://sourceforge.net/p/openocd/tickets/264/
Reviewed-on: http://openocd.zylin.com/5595
Reviewed-by: Christopher Head <chead@zaber.com>
Tested-by: jenkins
This commit is contained in:
Antonio Borneo 2020-04-20 23:54:38 +02:00
parent 837de9fd10
commit ebc2871005
4 changed files with 4 additions and 4 deletions

View File

@ -3739,7 +3739,7 @@ static const struct command_registration gdb_command_handlers[] = {
{
.name = "gdb_port",
.handler = handle_gdb_port_command,
.mode = COMMAND_ANY,
.mode = COMMAND_CONFIG,
.help = "Normally gdb listens to a TCP/IP port. Each subsequent GDB "
"server listens for the next port number after the "
"base port number specified. "

View File

@ -799,7 +799,7 @@ static const struct command_registration server_command_handlers[] = {
{
.name = "bindto",
.handler = &handle_bindto_command,
.mode = COMMAND_ANY,
.mode = COMMAND_CONFIG,
.usage = "[name]",
.help = "Specify address by name on which to listen for "
"incoming TCP/IP connections",

View File

@ -331,7 +331,7 @@ static const struct command_registration tcl_command_handlers[] = {
{
.name = "tcl_port",
.handler = handle_tcl_port_command,
.mode = COMMAND_ANY,
.mode = COMMAND_CONFIG,
.help = "Specify port on which to listen "
"for incoming Tcl syntax. "
"Read help on 'gdb_port'.",

View File

@ -705,7 +705,7 @@ static const struct command_registration telnet_command_handlers[] = {
{
.name = "telnet_port",
.handler = handle_telnet_port_command,
.mode = COMMAND_ANY,
.mode = COMMAND_CONFIG,
.help = "Specify port on which to listen "
"for incoming telnet connections. "
"Read help on 'gdb_port'.",