diff options
| author | Jay Sorg <jay.sorg@gmail.com> | 2012-02-02 18:49:06 -0800 |
|---|---|---|
| committer | Jay Sorg <jay.sorg@gmail.com> | 2012-02-02 18:49:06 -0800 |
| commit | b36f7d346ccb504547e675b6a0bf31bce75cc175 (patch) | |
| tree | 240e897250f1e7adf675cdc233b66e88dca55268 /xrdp/xrdp_listen.c | |
| parent | 946d9b257b85d93f13a07453655331427168fdf1 (diff) | |
| download | xrdp-proprietary-b36f7d346ccb504547e675b6a0bf31bce75cc175.tar.gz xrdp-proprietary-b36f7d346ccb504547e675b6a0bf31bce75cc175.zip | |
add --port command line override
Diffstat (limited to 'xrdp/xrdp_listen.c')
| -rw-r--r-- | xrdp/xrdp_listen.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/xrdp/xrdp_listen.c b/xrdp/xrdp_listen.c index 7edaddcb..23f532a8 100644 --- a/xrdp/xrdp_listen.c +++ b/xrdp/xrdp_listen.c @@ -47,7 +47,7 @@ xrdp_listen_create(void) self->listen_trans = trans_create(TRANS_MODE_TCP, 16, 16); if (self->listen_trans == 0) { - g_writeln("xrdp_listen_main_loop: trans_create failed"); + g_writeln("xrdp_listen_create: trans_create failed"); } return self; } @@ -120,7 +120,8 @@ xrdp_process_run(void* in_val) /*****************************************************************************/ static int xrdp_listen_get_port_address(char* port, int port_bytes, - char* address, int address_bytes) + char* address, int address_bytes, + struct xrdp_startup_params* startup_param) { int fd; int error; @@ -171,6 +172,11 @@ xrdp_listen_get_port_address(char* port, int port_bytes, list_delete(values); g_file_close(fd); } + /* startup_param overrides */ + if (startup_param->port[0] != 0) + { + g_strncpy(port, startup_param->port, port_bytes - 1); + } return 0; } @@ -202,13 +208,14 @@ xrdp_listen_conn_in(struct trans* self, struct trans* new_self) /*****************************************************************************/ /* wait for incoming connections */ int APP_CC -xrdp_listen_main_loop(struct xrdp_listen* self) +xrdp_listen_main_loop(struct xrdp_listen* self, + struct xrdp_startup_params* startup_param) { int error; int robjs_count; int cont; int timeout = 0; - char port[8]; + char port[128]; char address[256]; tbus robjs[8]; tbus term_obj; @@ -218,7 +225,8 @@ xrdp_listen_main_loop(struct xrdp_listen* self) self->status = 1; if (xrdp_listen_get_port_address(port, sizeof(port), - address, sizeof(address)) != 0) + address, sizeof(address), + startup_param) != 0) { g_writeln("xrdp_listen_main_loop: xrdp_listen_get_port failed"); self->status = -1; |
