projects
/
fw
/
openocd
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
pipes: add documentation for pipes
[fw/openocd]
/
src
/
server
/
telnet_server.c
diff --git
a/src/server/telnet_server.c
b/src/server/telnet_server.c
index 92052ae88bfec9fd732bdee9078b74e50e95d513..98e86160a3d5d34201090caae7c69f2223cd58bb 100644
(file)
--- a/
src/server/telnet_server.c
+++ b/
src/server/telnet_server.c
@@
-30,7
+30,7
@@
#include "telnet_server.h"
#include <target/target_request.h>
#include "telnet_server.h"
#include <target/target_request.h>
-static
unsigned short telnet_port = 4444
;
+static
const char *telnet_port
;
static char *negotiate =
"\xFF\xFB\x03" /* IAC WILL Suppress Go Ahead */
static char *negotiate =
"\xFF\xFB\x03" /* IAC WILL Suppress Go Ahead */
@@
-51,7
+51,7
@@
static int telnet_write(struct connection *connection, const void *data,
if (t_con->closed)
return ERROR_SERVER_REMOTE_CLOSED;
if (t_con->closed)
return ERROR_SERVER_REMOTE_CLOSED;
- if (
write_socket(connection->fd_out
, data, len) == len)
+ if (
connection_write(connection
, data, len) == len)
{
return ERROR_OK;
}
{
return ERROR_OK;
}
@@
-204,7
+204,7
@@
static int telnet_input(struct connection *connection)
struct telnet_connection *t_con = connection->priv;
struct command_context *command_context = connection->cmd_ctx;
struct telnet_connection *t_con = connection->priv;
struct command_context *command_context = connection->cmd_ctx;
- bytes_read =
read_socket(connection->fd
, buffer, TELNET_BUFFER_SIZE);
+ bytes_read =
connection_read(connection
, buffer, TELNET_BUFFER_SIZE);
if (bytes_read == 0)
return ERROR_SERVER_REMOTE_CLOSED;
if (bytes_read == 0)
return ERROR_SERVER_REMOTE_CLOSED;
@@
-582,26
+582,23
@@
static int telnet_connection_closed(struct connection *connection)
int telnet_init(char *banner)
{
int telnet_init(char *banner)
{
- struct telnet_service *telnet_service = malloc(sizeof(struct telnet_service));
-
- if (telnet_port == 0)
+ if (strcmp(telnet_port, "disabled") == 0)
{
{
- LOG_INFO("telnet port disabled");
- free(telnet_service);
+ LOG_INFO("telnet server disabled");
return ERROR_OK;
}
return ERROR_OK;
}
-
telnet_service->banner = banner
;
+
struct telnet_service *telnet_service = malloc(sizeof(struct telnet_service))
;
-
add_service("telnet", CONNECTION_TCP, telnet_port, 1, telnet_new_connection, telnet_input, telnet_connection_closed, telnet_service)
;
+
telnet_service->banner = banner
;
- return
ERROR_OK
;
+ return
add_service("telnet", telnet_port, 1, telnet_new_connection, telnet_input, telnet_connection_closed, telnet_service)
;
}
/* daemon configuration command telnet_port */
COMMAND_HANDLER(handle_telnet_port_command)
{
}
/* daemon configuration command telnet_port */
COMMAND_HANDLER(handle_telnet_port_command)
{
- return CALL_COMMAND_HANDLER(server_p
ort
_command, &telnet_port);
+ return CALL_COMMAND_HANDLER(server_p
ipe
_command, &telnet_port);
}
COMMAND_HANDLER(handle_exit_command)
}
COMMAND_HANDLER(handle_exit_command)
@@
-622,7
+619,7
@@
static const struct command_registration telnet_command_handlers[] = {
.mode = COMMAND_ANY,
.help = "Specify port on which to listen "
"for incoming telnet connections. "
.mode = COMMAND_ANY,
.help = "Specify port on which to listen "
"for incoming telnet connections. "
- "
No arguments reports telnet port; zero disables
.",
+ "
Read help on 'gdb_port'
.",
.usage = "[port_num]",
},
COMMAND_REGISTRATION_DONE
.usage = "[port_num]",
},
COMMAND_REGISTRATION_DONE
@@
-630,5
+627,6
@@
static const struct command_registration telnet_command_handlers[] = {
int telnet_register_commands(struct command_context *cmd_ctx)
{
int telnet_register_commands(struct command_context *cmd_ctx)
{
+ telnet_port = strdup("4444");
return register_commands(cmd_ctx, NULL, telnet_command_handlers);
}
return register_commands(cmd_ctx, NULL, telnet_command_handlers);
}