fixing sessvc starting code and removing SESMAN_SESSVC_FILE definition

ulab-original
ilsimo 17 years ago
parent 8c3d20c3d5
commit f06f9591bc

@ -13,8 +13,7 @@ MANDIR = /usr/local/man
DOCDIR = /usr/doc/xrdp
DEFINES = -DSESMAN_CFG_FILE=\"$(CFGDIR)/sesman.ini\" \
-DSESMAN_PID_FILE=\"$(PIDDIR)/sesman.pid\" \
-DSESMAN_SESSVC_FILE=\"sessvc\"
-DSESMAN_PID_FILE=\"$(PIDDIR)/sesman.pid\"
CFLAGS = -Wall -O2 -I../common -I/usr/include/nptl -I./libscp $(DEFINES)
LDFLAGS = -L/usr/gnu/lib -L/usr/lib/nptl -L./libscp -Wl,-rpath,. -lpthread -ldl -lscp
@ -41,7 +40,7 @@ kerberos-base: $(SESMANOBJ) verify_user_kerberos.o
$(CC) $(LDFLAGS) -o sesman $(SESMANOBJ) verify_user_kerberos.o -lkrb5
sessvc: $(SESSVCOBJ)
$(CC) $(LDFLAGS) -o sessvc $(SESSVCOBJ)
$(CC) $(LDFLAGS) -o sessvc $(SESSVCOBJ)
tools: sessvc
make -C tools

@ -22,7 +22,7 @@
* @file sesman.h
* @brief Main include file
* @author Jay Sorg
*
*
*/
#ifndef SESMAN_H
@ -50,8 +50,4 @@
#define SESMAN_PID_FILE "./sesman.pid"
#endif
#ifndef SESMAN_SESSVC_FILE
#define SESMAN_SESSVC_FILE "./sessvc"
#endif
#endif

@ -117,6 +117,8 @@ session_start_sessvc(int xpid, int wmpid, long data)
struct list* sessvc_params;
char wmpid_str[25];
char xpid_str[25];
char exe_path[262];
char cur_dir[256];
int i;
/* new style waiting for clients */
@ -128,12 +130,16 @@ session_start_sessvc(int xpid, int wmpid, long data)
sessvc_params->auto_free = 1;
/* building parameters */
list_add_item(sessvc_params, (long)g_strdup(SESMAN_SESSVC_FILE));
g_get_current_dir(cur_dir, 255);
g_snprintf(exe_path, 261, "%s/%s", cur_dir, "sessvc");
list_add_item(sessvc_params, (long)g_strdup(exe_path));
list_add_item(sessvc_params, (long)g_strdup(xpid_str));
list_add_item(sessvc_params, (long)g_strdup(wmpid_str));
list_add_item(sessvc_params, 0); /* mandatory */
g_execvp(SESMAN_SESSVC_FILE, ((char**)sessvc_params->items));
/* executing sessvc */
g_execvp(exe_path, ((char**)sessvc_params->items));
/* should not get here */
log_message(LOG_LEVEL_ALWAYS, "error starting sessvc - pid %d - xpid=%s - wmpid=%s",
@ -285,7 +291,7 @@ for user %s denied", username);
/* still a problem starting window manager just start xterm */
g_execlp3("xterm", "xterm", 0);
/* should not get here */
log_message(LOG_LEVEL_ALWAYS,"error starting xterm for user %s - pid %d",
username, g_getpid());

@ -13,7 +13,7 @@ unsigned int menuSelect(unsigned int choices);
int main(int argc, char** argv)
{
struct SCP_SESSION s;
struct SCP_CONNECTION c;
struct SCP_CONNECTION* c;
/*struct SCP_DISCONNECTED_SESSION ds;*/
struct SCP_DISCONNECTED_SESSION* dsl;
enum SCP_CLIENT_STATES_E e;
@ -21,14 +21,17 @@ int main(int argc, char** argv)
int scnt;
int idx;
int sel;
int sock;
make_stream(c.in_s);
sock=g_tcp_socket();
c=scp_connection_create(sock);
/*make_stream(c.in_s);
init_stream(c.in_s, 8192);
make_stream(c.out_s);
init_stream(c.out_s, 8192);
c.in_sck = g_tcp_socket();
c.in_sck = g_tcp_socket();*/
if (0!=g_tcp_connect(c.in_sck, "localhost", "3350"))
if (0!=g_tcp_connect(sock, "localhost", "3350"))
{
g_printf("error connecting");
return 1;
@ -78,7 +81,7 @@ int main(int argc, char** argv)
break;
case SCP_CLIENT_STATE_SESSION_LIST:
g_printf("OK : session list needed\n");
e=scp_v1c_get_session_list(&c, &scnt, &dsl);
e=scp_v1c_get_session_list(c, &scnt, &dsl);
printf("Sessions: %d\n", scnt);
for (idx=0; idx <scnt; idx++)
{
@ -88,7 +91,7 @@ int main(int argc, char** argv)
case SCP_CLIENT_STATE_LIST_OK:
g_printf("OK : selecting a session:\n");
sel = menuSelect(scnt);
e=scp_v1c_select_session(&c, &s, dsl[sel-1].SID);
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:
@ -97,7 +100,7 @@ int main(int argc, char** argv)
scanf("%255s", s.username);
g_printf(" password:");
scanf("%255s", s.password);
e=scp_v1c_resend_credentials(&c,&s);
e=scp_v1c_resend_credentials(c,&s);
break;
case SCP_CLIENT_STATE_CONNECTION_DENIED:
g_printf("ERR: connection denied: %s\n", s.errstr);
@ -118,9 +121,10 @@ int main(int argc, char** argv)
}
}
g_tcp_close(c.in_sck);
free_stream(c.in_s);
free_stream(c.out_s);
g_tcp_close(sock);
scp_connection_destroy(c);
/*free_stream(c.in_s);
free_stream(c.out_s);*/
return 0;
}

Loading…
Cancel
Save