| version 1.6, 2003/06/02 10:25:57 |
version 1.10, 2016/06/30 01:14:00 |
|
|
| /* -*- mode: C; coding: euc-japan -*- */ |
/* -*- mode: C; coding: euc-japan -*- */ |
| /* $OpenXM: OpenXM/src/ox_toolkit/oxf_old.c,v 1.5 2002/04/24 07:45:14 ohara Exp $ */ |
/* $OpenXM: OpenXM/src/ox_toolkit/oxf_old.c,v 1.9 2015/08/27 03:03:34 ohara Exp $ */ |
| |
|
| /* このモジュールは互換性のためのものです。*/ |
/* このモジュールは互換性のためのものです。*/ |
| |
|
| #include <stdio.h> |
#include <stdio.h> |
| #include <stdlib.h> |
#include <stdlib.h> |
| #include <string.h> |
#include <string.h> |
| #include <unistd.h> |
|
| #include <fcntl.h> |
#include <fcntl.h> |
| |
#include <time.h> |
| |
|
| |
#if defined(_MSC_VER) || defined(__MINGW32__) |
| |
#include <io.h> |
| |
#define MAXHOSTNAMELEN 256 |
| |
#else |
| |
#include <unistd.h> |
| #include <sys/file.h> |
#include <sys/file.h> |
| #include <sys/param.h> |
#include <sys/param.h> |
| #include <time.h> |
#endif |
| |
|
| #if defined(__sun__) |
#if defined(__sun__) |
| #include <netdb.h> |
#include <netdb.h> |
| Line 106 void set_OpenXM_HOME() |
|
| Line 112 void set_OpenXM_HOME() |
|
| } |
} |
| } |
} |
| |
|
| |
#if !defined(_MSC_VER) |
| void ox_exec_local(char* ctl_prog, char* dat_prog, int portControl, int portStream, char *passwd) |
void ox_exec_local(char* ctl_prog, char* dat_prog, int portControl, int portStream, char *passwd) |
| { |
{ |
| char ctl[128], dat[128]; |
char ctl[128], dat[128]; |
| Line 143 OXFILE *ox_start(char* host, char* ctl_prog, char* dat |
|
| Line 150 OXFILE *ox_start(char* host, char* ctl_prog, char* dat |
|
| OXFILE *st, *ct; |
OXFILE *st, *ct; |
| char *passwd = generate_otp(); |
char *passwd = generate_otp(); |
| int listen[2]; |
int listen[2]; |
| int ports[2] = {0}; /* short! */ |
int ports[2] = {0}; |
| |
|
| /* host を無視 */ |
/* host を無視 */ |
| listen[0] = oxf_listen(&ports[0]); |
listen[0] = oxf_listen(&ports[0]); |
| Line 186 OXFILE *ox_start_insecure(char* host, short portContro |
|
| Line 193 OXFILE *ox_start_insecure(char* host, short portContro |
|
| /* ssh -f host oxlog xterm -e ox -ox ox_asir ... */ |
/* ssh -f host oxlog xterm -e ox -ox ox_asir ... */ |
| void ssh_ox_server(char *remote_host, char *ctl_prog, char *dat_prog, short portControl, short portStream) |
void ssh_ox_server(char *remote_host, char *ctl_prog, char *dat_prog, short portControl, short portStream) |
| { |
{ |
| |
char buf[2][10]; |
| |
/* |
| ctl_prog = concat_openxm_home_bin(ctl_prog); |
ctl_prog = concat_openxm_home_bin(ctl_prog); |
| dat_prog = concat_openxm_home_bin(dat_prog); |
dat_prog = concat_openxm_home_bin(dat_prog); |
| |
*/ |
| |
|
| if (fork() == 0) { |
if (fork() == 0) { |
| |
|
| |
sprintf(buf[0], "%hd", portStream); |
| |
sprintf(buf[1], "%hd", portControl); |
| |
|
| execlp("ssh", "ssh", "-f", remote_host, "oxlog", "xterm", "-icon", |
execlp("ssh", "ssh", "-f", remote_host, "oxlog", "xterm", "-icon", |
| "-e", ctl_prog, "-insecure", "-ox", dat_prog, |
"-e", ctl_prog, "-insecure", "-ox", dat_prog, |
| "-data", portStream, "-control", portControl, |
"-data", buf[0], "-control", buf[1], |
| "-host", remote_host, NULL); |
"-host", remote_host, NULL); |
| exit(1); |
exit(1); |
| } |
} |
| |
|
| |
sleep(1); /* wait ssh */ |
| } |
} |
| |
|
| OXFILE *ox_start_remote_with_ssh(char *dat_prog, char* remote_host) |
OXFILE *ox_start_remote_with_ssh(char *dat_prog, char* remote_host) |
| Line 203 OXFILE *ox_start_remote_with_ssh(char *dat_prog, char* |
|
| Line 219 OXFILE *ox_start_remote_with_ssh(char *dat_prog, char* |
|
| ssh_ox_server(remote_host, "ox", dat_prog, 1200, 1300); |
ssh_ox_server(remote_host, "ox", dat_prog, 1200, 1300); |
| return ox_start_insecure(remote_host, 1200, 1300); |
return ox_start_insecure(remote_host, 1200, 1300); |
| } |
} |
| |
#endif |