summaryrefslogtreecommitdiffstats
path: root/sesman/tools/sestest.c
diff options
context:
space:
mode:
Diffstat (limited to 'sesman/tools/sestest.c')
-rw-r--r--sesman/tools/sestest.c374
1 files changed, 193 insertions, 181 deletions
diff --git a/sesman/tools/sestest.c b/sesman/tools/sestest.c
index c0784ba3..f2823eb6 100644
--- a/sesman/tools/sestest.c
+++ b/sesman/tools/sestest.c
@@ -12,205 +12,217 @@
#include <stdio.h>
-int inputSession(struct SCP_SESSION* s);
+int inputSession(struct SCP_SESSION *s);
unsigned int menuSelect(unsigned int choices);
-int main(int argc, char** argv)
+int main(int argc, char **argv)
{
- char buf[256];
- struct SCP_SESSION* s;
- struct SCP_CONNECTION* c;
- /*struct SCP_DISCONNECTED_SESSION ds;*/
- struct SCP_DISCONNECTED_SESSION* dsl;
- enum SCP_CLIENT_STATES_E e;
- struct log_config log;
- int end;
- int scnt;
- int idx;
- int sel;
- int sock;
-
- log.enable_syslog=0;
- log.log_level=99;
- log.program_name=g_strdup("sestest");
- log.log_file=g_strdup("sestest.log");
- log_start_from_param(&log);
- scp_init(&log);
-
- sock=g_tcp_socket();
- s = scp_session_create();
- c = scp_connection_create(sock);
-
- if (0!=g_tcp_connect(sock, "localhost", "3350"))
- {
- g_printf("error connecting");
- return 1;
- }
-
- g_printf("001 - send connect request\n");
-
- scp_session_set_type(s, SCP_SESSION_TYPE_XVNC);
- scp_session_set_version(s, 1);
- scp_session_set_height(s, 600);
- scp_session_set_width(s, 800);
- scp_session_set_bpp(s, 16);
- scp_session_set_rsr(s, 0);
- scp_session_set_locale(s, "it_IT");
- scp_session_set_username(s, "prog");
- scp_session_set_password(s, "prog");
- scp_session_set_hostname(s, "odin");
-// scp_session_set_addr(s, SCP_ADDRESS_TYPE_IPV4, "127.0.0.1");
-// scp_session_set_display(struct SCP_SESSION* s, SCP_DISPLAY display);
-// scp_session_set_errstr(struct SCP_SESSION* s, char* str);
-
- /*s.type=SCP_SESSION_TYPE_XVNC;
- s.version=1;
- s.height=600;
- s.width=800;
- s.bpp=8;
- s.rsr=0;
- g_strncpy(s.locale,"it_IT 0123456789",18);
- s.username=g_malloc(256, 1);
- g_strncpy(s.username,"prog",255);
- s.password=g_malloc(256,1);
- g_strncpy(s.password, "prog", 255);
- g_printf("%s - %s\n", s.username, s.password);
- s.hostname=g_malloc(256,1);
- g_strncpy(s.hostname, "odin", 255);
- s.addr_type=SCP_ADDRESS_TYPE_IPV4;
- s.ipv4addr=0;
- s.errstr=0;*/
-
- end=0;
- e=scp_v1c_connect(c,s);
-
- while (!end)
- {
- switch (e)
+ char buf[256];
+ struct SCP_SESSION *s;
+ struct SCP_CONNECTION *c;
+ /*struct SCP_DISCONNECTED_SESSION ds;*/
+ struct SCP_DISCONNECTED_SESSION *dsl;
+ enum SCP_CLIENT_STATES_E e;
+ struct log_config log;
+ int end;
+ int scnt;
+ int idx;
+ int sel;
+ int sock;
+
+ log.enable_syslog = 0;
+ log.log_level = 99;
+ log.program_name = g_strdup("sestest");
+ log.log_file = g_strdup("sestest.log");
+ log_start_from_param(&log);
+ scp_init(&log);
+
+ sock = g_tcp_socket();
+ s = scp_session_create();
+ c = scp_connection_create(sock);
+
+ if (0 != g_tcp_connect(sock, "localhost", "3350"))
{
- case SCP_CLIENT_STATE_OK:
- g_printf("OK : display is %d\n", (short int)s->display);
- end=1;
- break;
- case SCP_CLIENT_STATE_SESSION_LIST:
- g_printf("OK : session list needed\n");
- e=scp_v1c_get_session_list(c, &scnt, &dsl);
- break;
- case SCP_CLIENT_STATE_LIST_OK:
- g_printf("OK : selecting a session:\n");
- for (idx=0; idx <scnt; idx++)
- {
- printf("Session \t%d - %d - %dx%dx%d - %d %d %d - %4d/%2d/%2d@%2d:%2d\n", \
- (dsl[idx]).SID, (dsl[idx]).type, (dsl[idx]).width, (dsl[idx]).height, (dsl[idx]).bpp, \
- (dsl[idx]).idle_days, (dsl[idx]).idle_hours, (dsl[idx]).idle_minutes, \
- (dsl[idx]).conn_year, (dsl[idx]).conn_month, (dsl[idx]).conn_day, (dsl[idx]).conn_hour, (dsl[idx]).conn_minute);
- }
- sel = menuSelect(scnt);
- e=scp_v1c_select_session(c, s, dsl[sel-1].SID);
- g_printf("\n return: %d \n", e);
- break;
- case SCP_CLIENT_STATE_RESEND_CREDENTIALS:
- g_printf("ERR: resend credentials - %s\n", s->errstr);
- g_printf(" username:");
- if (scanf("%255s", buf) < 0)
- {
- g_writeln("error");
- }
- scp_session_set_username(s, buf);
- g_printf(" password:");
- if (scanf("%255s", buf) < 0)
+ g_printf("error connecting");
+ return 1;
+ }
+
+ g_printf("001 - send connect request\n");
+
+ scp_session_set_type(s, SCP_SESSION_TYPE_XVNC);
+ scp_session_set_version(s, 1);
+ scp_session_set_height(s, 600);
+ scp_session_set_width(s, 800);
+ scp_session_set_bpp(s, 16);
+ scp_session_set_rsr(s, 0);
+ scp_session_set_locale(s, "it_IT");
+ scp_session_set_username(s, "prog");
+ scp_session_set_password(s, "prog");
+ scp_session_set_hostname(s, "odin");
+ // scp_session_set_addr(s, SCP_ADDRESS_TYPE_IPV4, "127.0.0.1");
+ // scp_session_set_display(struct SCP_SESSION* s, SCP_DISPLAY display);
+ // scp_session_set_errstr(struct SCP_SESSION* s, char* str);
+
+ /*s.type=SCP_SESSION_TYPE_XVNC;
+ s.version=1;
+ s.height=600;
+ s.width=800;
+ s.bpp=8;
+ s.rsr=0;
+ g_strncpy(s.locale,"it_IT 0123456789",18);
+ s.username=g_malloc(256, 1);
+ g_strncpy(s.username,"prog",255);
+ s.password=g_malloc(256,1);
+ g_strncpy(s.password, "prog", 255);
+ g_printf("%s - %s\n", s.username, s.password);
+ s.hostname=g_malloc(256,1);
+ g_strncpy(s.hostname, "odin", 255);
+ s.addr_type=SCP_ADDRESS_TYPE_IPV4;
+ s.ipv4addr=0;
+ s.errstr=0;*/
+
+ end = 0;
+ e = scp_v1c_connect(c, s);
+
+ while (!end)
+ {
+ switch (e)
{
- g_writeln("error");
+ case SCP_CLIENT_STATE_OK:
+ g_printf("OK : display is %d\n", (short int)s->display);
+ end = 1;
+ break;
+ case SCP_CLIENT_STATE_SESSION_LIST:
+ g_printf("OK : session list needed\n");
+ e = scp_v1c_get_session_list(c, &scnt, &dsl);
+ break;
+ case SCP_CLIENT_STATE_LIST_OK:
+ g_printf("OK : selecting a session:\n");
+
+ for (idx = 0; idx < scnt; idx++)
+ {
+ printf("Session \t%d - %d - %dx%dx%d - %d %d %d - %4d/%2d/%2d@%2d:%2d\n", \
+ (dsl[idx]).SID, (dsl[idx]).type, (dsl[idx]).width, (dsl[idx]).height, (dsl[idx]).bpp, \
+ (dsl[idx]).idle_days, (dsl[idx]).idle_hours, (dsl[idx]).idle_minutes, \
+ (dsl[idx]).conn_year, (dsl[idx]).conn_month, (dsl[idx]).conn_day, (dsl[idx]).conn_hour, (dsl[idx]).conn_minute);
+ }
+
+ sel = menuSelect(scnt);
+ e = scp_v1c_select_session(c, s, dsl[sel - 1].SID);
+ g_printf("\n return: %d \n", e);
+ break;
+ case SCP_CLIENT_STATE_RESEND_CREDENTIALS:
+ g_printf("ERR: resend credentials - %s\n", s->errstr);
+ g_printf(" username:");
+
+ if (scanf("%255s", buf) < 0)
+ {
+ g_writeln("error");
+ }
+
+ scp_session_set_username(s, buf);
+ g_printf(" password:");
+
+ if (scanf("%255s", buf) < 0)
+ {
+ g_writeln("error");
+ }
+
+ scp_session_set_password(s, buf);
+ e = scp_v1c_resend_credentials(c, s);
+ break;
+ case SCP_CLIENT_STATE_CONNECTION_DENIED:
+ g_printf("ERR: connection denied: %s\n", s->errstr);
+ end = 1;
+ break;
+ case SCP_CLIENT_STATE_PWD_CHANGE_REQ:
+ g_printf("OK : password change required\n");
+ break;
+ /*case SCP_CLIENT_STATE_RECONNECT_SINGLE:
+ g_printf("OK : reconnect to 1 disconnected session\n");
+ e=scp_v1c_retrieve_session(&c, &s, &ds);
+ g_printf("Session Type: %d on %d\n", ds.type, s.display);
+ g_printf("Session Screen: %dx%dx%d\n", ds.height, ds.width, ds.bpp);*/
+ break;
+ default:
+ g_printf("protocol error: %d\n", e);
+ end = 1;
}
- scp_session_set_password(s, buf);
- e=scp_v1c_resend_credentials(c,s);
- break;
- case SCP_CLIENT_STATE_CONNECTION_DENIED:
- g_printf("ERR: connection denied: %s\n", s->errstr);
- end=1;
- break;
- case SCP_CLIENT_STATE_PWD_CHANGE_REQ:
- g_printf("OK : password change required\n");
- break;
- /*case SCP_CLIENT_STATE_RECONNECT_SINGLE:
- g_printf("OK : reconnect to 1 disconnected session\n");
- e=scp_v1c_retrieve_session(&c, &s, &ds);
- g_printf("Session Type: %d on %d\n", ds.type, s.display);
- g_printf("Session Screen: %dx%dx%d\n", ds.height, ds.width, ds.bpp);*/
- break;
- default:
- g_printf("protocol error: %d\n", e);
- end=1;
}
- }
- g_tcp_close(sock);
- scp_session_destroy(s);
- scp_connection_destroy(c);
- /*free_stream(c.in_s);
- free_stream(c.out_s);*/
+ g_tcp_close(sock);
+ scp_session_destroy(s);
+ scp_connection_destroy(c);
+ /*free_stream(c.in_s);
+ free_stream(c.out_s);*/
- return 0;
+ return 0;
}
-int inputSession(struct SCP_SESSION* s)
+int inputSession(struct SCP_SESSION *s)
{
- unsigned int integer;
-
- g_printf("username: ");
- if (scanf("%255s", s->username) < 0)
- {
- g_writeln("error");
- }
- g_printf("password:");
- if (scanf("%255s", s->password) < 0)
- {
- g_writeln("error");
- }
- g_printf("hostname:");
- if (scanf("%255s", s->hostname) < 0)
- {
- g_writeln("error");
- }
-
- g_printf("session type:\n");
- g_printf("0: Xvnc\n", SCP_SESSION_TYPE_XVNC);
- g_printf("1: x11rdp\n", SCP_SESSION_TYPE_XRDP);
- integer=menuSelect(1);
- if (integer==1)
- {
- s->type=SCP_SESSION_TYPE_XRDP;
- }
- else
- {
- s->type=SCP_SESSION_TYPE_XVNC;
- }
-
- s->version=1;
- s->height=600;
- s->width=800;
- s->bpp=8;
-
- /* fixed for now */
- s->rsr=0;
- g_strncpy(s->locale,"it_IT 0123456789",18);
-
- return 0;
+ unsigned int integer;
+
+ g_printf("username: ");
+
+ if (scanf("%255s", s->username) < 0)
+ {
+ g_writeln("error");
+ }
+
+ g_printf("password:");
+
+ if (scanf("%255s", s->password) < 0)
+ {
+ g_writeln("error");
+ }
+
+ g_printf("hostname:");
+
+ if (scanf("%255s", s->hostname) < 0)
+ {
+ g_writeln("error");
+ }
+
+ g_printf("session type:\n");
+ g_printf("0: Xvnc\n", SCP_SESSION_TYPE_XVNC);
+ g_printf("1: x11rdp\n", SCP_SESSION_TYPE_XRDP);
+ integer = menuSelect(1);
+
+ if (integer == 1)
+ {
+ s->type = SCP_SESSION_TYPE_XRDP;
+ }
+ else
+ {
+ s->type = SCP_SESSION_TYPE_XVNC;
+ }
+
+ s->version = 1;
+ s->height = 600;
+ s->width = 800;
+ s->bpp = 8;
+
+ /* fixed for now */
+ s->rsr = 0;
+ g_strncpy(s->locale, "it_IT 0123456789", 18);
+
+ return 0;
}
tui32
menuSelect(tui32 choices)
{
- tui32 sel;
- int ret;
+ tui32 sel;
+ int ret;
- ret = scanf("%u", &sel);
-
- while ((ret == 0) || (sel > choices))
- {
- g_printf("invalid choice.");
ret = scanf("%u", &sel);
- }
- return sel;
+ while ((ret == 0) || (sel > choices))
+ {
+ g_printf("invalid choice.");
+ ret = scanf("%u", &sel);
+ }
+
+ return sel;
}