[BACK]Return to mytcpio.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / plugin

Diff for /OpenXM/src/kan96xx/plugin/mytcpio.c between version 1.5 and 1.8

version 1.5, 2001/05/04 01:06:30 version 1.8, 2002/10/20 08:26:00
Line 1 
Line 1 
 /*  $OpenXM: OpenXM/src/kan96xx/plugin/mytcpio.c,v 1.4 2000/09/08 16:08:42 takayama Exp $ */  /*  $OpenXM: OpenXM/src/kan96xx/plugin/mytcpio.c,v 1.7 2002/10/20 07:58:18 takayama Exp $ */
 #include <stdio.h>  #include <stdio.h>
 #include <sys/types.h>  #include <sys/types.h>
 #include <sys/socket.h>  #include <sys/socket.h>
Line 15 
Line 15 
 #if defined(sun)  #if defined(sun)
 int MyEnv_oxmisc[2000];  int MyEnv_oxmisc[2000];
 #else  #else
   #if defined(__CYGWIN__)
   sigjmp_buf MyEnv_oxmisc; /* may cause a trouble in Solaris. */
   #else
 jmp_buf MyEnv_oxmisc; /* may cause a trouble in Solaris. */  jmp_buf MyEnv_oxmisc; /* may cause a trouble in Solaris. */
 #endif  #endif
   #endif
   
 #define READBUFSIZE 10000  #define READBUFSIZE 10000
   #define MAX_LISTEN_QUEUE 3
 static void errorMsg1s(char *s) {  static void errorMsg1s(char *s) {
   fprintf(stderr,"%s\n",s);    fprintf(stderr,"%s\n",s);
 }  }
Line 69  socketOpen(char *serverName,int portNumber) {
Line 74  socketOpen(char *serverName,int portNumber) {
     return(-1);      return(-1);
   }    }
   
   if (listen(s_waiting,1) < 0) {    if (listen(s_waiting,MAX_LISTEN_QUEUE) < 0) {
     errorMsg1s("Listen failed");      errorMsg1s("Listen failed");
     return(-1);      return(-1);
   }    }
Line 134  socketAcceptLocal(int snum) {
Line 139  socketAcceptLocal(int snum) {
     errorMsg1s("Error in closing the old socket.");      errorMsg1s("Error in closing the old socket.");
     return(-1);      return(-1);
   }    }
     return(news);
   }
   
   /* It does not close the socket for listening. */
   socketAcceptLocal2(int snum) {
     int s, news;
     struct sockaddr peer;
     int len;
     int i;
   
     SET_TCPIOERROR;
     s = snum;
     fprintf(TcpioError,"Trying to accept from localhost... "); fflush(TcpioError);
     len = sizeof(struct sockaddr);
     if ((news = accept(s,&peer,&len)) < 0) {
       errorMsg1s("Error in accept.");
       return(-1);
     }
   
     len = sizeof(struct sockaddr);
     getpeername(news,&peer,&len);
     printf("len= %d\n",len);
     for (i=0; i<len; i++) {
       printf(" %x ",peer.sa_data[i]);
     }
     printf("\n");
     if (peer.sa_data[2] == 0x7f && peer.sa_data[3] == 0 &&
         peer.sa_data[4] == 0    && peer.sa_data[5] == 1) {
       fprintf(stderr,"Authentication: localhost is allowed to be accepted.\n");
     }else{
       errorMsg1s("Authentication: The connection is not from the localhost.");
       fprintf(stderr,"The connection is refused.");
       return(-1);
     }
   
     fprintf(TcpioError,"Accepted.\n"); fflush(TcpioError);
   return(news);    return(news);
 }  }
   

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.8

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>