version 1.5, 2000/03/20 01:53:47 |
version 1.8, 2000/12/03 07:29:39 |
|
|
/* $OpenXM: OpenXM/src/kan96xx/plugin/oxmisc.c,v 1.4 1999/11/27 01:41:11 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/kan96xx/plugin/oxmisc.c,v 1.7 2000/09/08 17:30:50 takayama Exp $ */ |
#include <stdio.h> |
#include <stdio.h> |
#include <sys/types.h> |
#include <sys/types.h> |
#include <sys/stat.h> |
#include <sys/stat.h> |
Line 24 FILE *MyErrorOut = NULL; |
|
Line 24 FILE *MyErrorOut = NULL; |
|
|
|
#define READBUFSIZE 5000 |
#define READBUFSIZE 5000 |
|
|
int OxVersion = 199909080; |
int OxVersion = 200012030; |
int UseOXPacketSerial = 1; |
int UseOXPacketSerial = 1; |
int SerialOX = 1; |
int SerialOX = 1; |
extern int Quiet; |
extern int Quiet; |
Line 48 int readOneByte(int fd) /* blocking */ |
|
Line 48 int readOneByte(int fd) /* blocking */ |
|
if (oxSocketSelect0(fd,-1)) { /* block */ |
if (oxSocketSelect0(fd,-1)) { /* block */ |
size = read(fd,data,1); |
size = read(fd,data,1); |
if (size == 0) { |
if (size == 0) { |
fprintf(MyErrorOut,"oxSocketSelect0() returns 1, but there is no data. You peer may be killed.\n"); |
fprintf(MyErrorOut,"oxSocketSelect0() returns 1, but there is no data. Your peer may be killed.\n"); |
return(-1); |
return(-1); |
} |
} |
return(data[0]); |
return(data[0]); |
Line 94 int readOneByte_org(int fd) /* blocking */ |
|
Line 94 int readOneByte_org(int fd) /* blocking */ |
|
if (oxSocketSelect0(fd,-1)) { /* block */ |
if (oxSocketSelect0(fd,-1)) { /* block */ |
size = read(fd,data,READBUFSIZE-1); |
size = read(fd,data,READBUFSIZE-1); |
if (size == 0) { |
if (size == 0) { |
fprintf(MyErrorOut,"oxSocketSelect0() returns 1, but there is no data. You peer may be killed.\n"); |
fprintf(MyErrorOut,"oxSocketSelect0() returns 1, but there is no data. Your peer may be killed.\n"); |
return(-1); |
return(-1); |
} |
} |
from = 0; |
from = 0; |
Line 517 int oxclientMultiSelect(oxclientp clients[],int datare |
|
Line 517 int oxclientMultiSelect(oxclientp clients[],int datare |
|
fd = (fd<humanfd?humanfd:fd); |
fd = (fd<humanfd?humanfd:fd); |
FD_SET(humanfd,&readfds); |
FD_SET(humanfd,&readfds); |
if (oxSocketSelect0(humanfd,0)) { |
if (oxSocketSelect0(humanfd,0)) { |
ddd = dataready[i] = 1; controlready[i] = 0; |
ddd = dataready[i] = 1; controlready[i] = 0; |
}else{ |
}else{ |
dataready[i] = 0; controlready[i] = 0; |
dataready[i] = 0; controlready[i] = 0; |
} |
} |
}else{ |
}else{ |
fd = (fd<clients[i]->controlfd?clients[i]->controlfd:fd); |
if (clients[i]->controlport < 0) { /* For RFC_101 */ |
FD_SET(clients[i]->controlfd,&readfds); |
controlready[i] = 0; |
if (oxSocketSelect0(clients[i]->controlfd,0)) { |
}else{ |
ddd = controlready[i] = 1; |
fd = (fd<clients[i]->controlfd?clients[i]->controlfd:fd); |
}else{ |
FD_SET(clients[i]->controlfd,&readfds); |
controlready[i] = 0; |
if (oxSocketSelect0(clients[i]->controlfd,0)) { |
} |
ddd = controlready[i] = 1; |
|
}else{ |
|
controlready[i] = 0; |
|
} |
|
} |
if (clients[i]->datafp2 != NULL) { |
if (clients[i]->datafp2 != NULL) { |
fd = (fd<clients[i]->datafp2->fd?clients[i]->datafp2->fd:fd); |
fd = (fd<clients[i]->datafp2->fd?clients[i]->datafp2->fd:fd); |
FD_SET(clients[i]->datafp2->fd,&readfds); |
FD_SET(clients[i]->datafp2->fd,&readfds); |
if (fp2select(clients[i]->datafp2,0)) { |
if (fp2select(clients[i]->datafp2,0)) { |
ddd = dataready[i] = 1; |
ddd = dataready[i] = 1; |
}else{ |
}else{ |
dataready[i] = 0; |
dataready[i] = 0; |
} |
} |
}else{ |
}else{ |
dataready[i] = 0; |
dataready[i] = 0; |
} |
} |
} |
} |
} |
} |
Line 925 oxclientp oxCreateClient2(int fdstream,int portStream, |
|
Line 929 oxclientp oxCreateClient2(int fdstream,int portStream, |
|
return(NULL); |
return(NULL); |
} |
} |
|
|
/* Authentification by password. */ |
/* Authentication by password. */ |
m = strlen(pass); |
m = strlen(pass); |
s = (char *)mymalloc(sizeof(char)*(m+1)); |
s = (char *)mymalloc(sizeof(char)*(m+1)); |
read(fdControl,s,m+1); s[m] = '\0'; |
read(fdControl,s,m+1); s[m] = '\0'; |
if (strcmp(s,pass) != 0) { |
if (strcmp(s,pass) != 0) { |
fprintf(stderr,"oxCreateClient2(): password authentification failed for control channel.\n"); |
fprintf(stderr,"oxCreateClient2(): password authentication failed for control channel.\n"); |
close(fdControl); |
close(fdControl); |
return(NULL); |
return(NULL); |
} |
} |
read(fdStream,s,m+1); s[m] = '\0'; |
read(fdStream,s,m+1); s[m] = '\0'; |
if (strcmp(s,pass) != 0) { |
if (strcmp(s,pass) != 0) { |
fprintf(stderr,"oxCreateClient2(): password authentification failed for data channel.\n"); |
fprintf(stderr,"oxCreateClient2(): password authentication failed for data channel.\n"); |
close(fdStream); |
close(fdStream); |
return(NULL); |
return(NULL); |
} |
} |