| version 1.21, 2004/09/16 23:53:45 | version 1.22, 2004/09/17 07:27:28 | 
|  |  | 
| /*  $OpenXM: OpenXM/src/kan96xx/plugin/oxmisc.c,v 1.20 2004/03/08 08:24:42 takayama Exp $ */ | /*  $OpenXM: OpenXM/src/kan96xx/plugin/oxmisc.c,v 1.21 2004/09/16 23:53:45 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 909  static void cancelConnection() { |  | 
| Line 909  static void cancelConnection() { |  | 
| } | } | 
|  |  | 
| oxclientp oxCreateClient2(int fdstream,int portStream, | oxclientp oxCreateClient2(int fdstream,int portStream, | 
| int fdcontrol,int portControl,int ipmask,char *pass) | int fdcontrol,int portControl,int ipmask, | 
|  | char *passControl, char *passData) | 
| { | { | 
| int v = 0; | int v = 0; | 
| int fdControl = -1; | int fdControl = -1; | 
| 
| Line 957  oxclientp oxCreateClient2(int fdstream,int portStream, |  | 
| Line 958  oxclientp oxCreateClient2(int fdstream,int portStream, |  | 
| } | } | 
|  |  | 
| /* Authentication by password. */ | /* Authentication by password. */ | 
| m = strlen(pass); | m = strlen(passControl)+strlen(passData); | 
| if (m > 0) { | if (m > 0) { | 
| s = (char *)mymalloc(sizeof(char)*(m+1)); | s = (char *)mymalloc(sizeof(char)*(m+1)); | 
|  | m = strlen(passControl); s[0] = 0; | 
| read(fdControl,s,m+1); s[m] = '\0'; | read(fdControl,s,m+1); s[m] = '\0'; | 
| if (strcmp(s,pass) != 0) { | if (strcmp(s,passControl) != 0) { | 
|  | fprintf(stderr,"s=%s, passControl=%s\n",s,passControl); | 
| fprintf(stderr,"oxCreateClient2(): password authentication failed for control channel.\n"); | fprintf(stderr,"oxCreateClient2(): password authentication failed for control channel.\n"); | 
| close(fdControl); | close(fdControl); | 
| return(NULL); | return(NULL); | 
| } | } | 
|  | m = strlen(passData); s[0] = 0; | 
| read(fdStream,s,m+1); s[m] = '\0'; | read(fdStream,s,m+1); s[m] = '\0'; | 
| if (strcmp(s,pass) != 0) { | if (strcmp(s,passData) != 0) { | 
|  | fprintf(stderr,"s=%s, passData=%s\n",s,passData); | 
| fprintf(stderr,"oxCreateClient2(): password authentication failed for data channel.\n"); | fprintf(stderr,"oxCreateClient2(): password authentication failed for data channel.\n"); | 
| close(fdStream); | close(fdStream); | 
| return(NULL); | return(NULL); |